2
respostas

Curso Atualizado?

Olá! Onde baixo o código na versão atualizada, com App.js? Obrigada!

2 respostas

Olá, Hashimoto.

Por enquanto o instrutor não deixou os códigos disponível. Já vou passar para o time da Alura pra realizarmos essa atualização no curso o quanto antes :-)

Olá Hashimoto, tudo bem ?

O código que é escrito para a app pode permanecer o mesmo. O o que ocorre é que a partir do release 0.49 o projeto do React Native traz uma mudança no template de projeto inicial. Agora quando criamos nosso projeto através de react-native init ProjectName não teríamos mais os arquivos index.ios.js e index.android.js - que representavam os pontos de entrada para as duas plataformas - mas no lugar deles um único entry point, chamado index.js.

Trecho das release notes explicando isso:

  • New projects have a single entry-point (index.js) from >now on (6e99e31) - @fson

Summary:

Before

When creating a new project with react-native init, generated template has two entry-points: index.ios.js and index.android.js Those two files were always identical

After

When creating a new project, generated template has a single, shared entry-point: index.js

Ná prática isso apenas evita o problema de repetição do mesmo código inicial ser escrito em dois arquivos pra poder atender as duas plataformas. No treinamento inclusive, durante os exercícios, escrevemos um app.js que isola todo o código que se repetiria nesses dois pontos de entrada, que é então reutilizado.

No projeto do curso está assim:

-- index.ios.js (Ponto de entrada ios)

-- index.android.js (Ponto de entrada android)

-- src/app.js (Aqui tem todo código inicial pra renderização e registro dos componentes React. Os arquivos de entrada importam o código deste arquivo e o reutilizam)

No novo template de projeto ficaria assim:

-- index.js (Ponto de entrada universal, que registra os componentes)

-- App.js (código que define componente inicial que é renderizado)

Caso esteja desenvolvendo com base no novo template você pode fazer o seguinte:

index.js

import { AppRegistry } from 'react-native';
import App from './App';

AppRegistry.registerComponent('InstaluraMobile', () => App);

App.js (já vem com uma definição de componente básico, e você pode alterar esse código definindo a partir dele o Feed) (O arquivo nem mesmo precisa chamar App.js, você pode nomear de outra forma ou criar outro arquivo pra escrever o código do Feed)

Espero ter ajudado. Abraço!