3
respostas

Versão nova do create-react-app

Instalei o create-react-app e parece que, por padrão, é instalada a versão mais recente. Portanto, foi instalada a versão 16.8.6. Acontece que o código fonte está diferente. Por exemplo, em App.js, App está declarada assim:

function App() { return ... } export default App;

em vez de

export class App ...

O que aconteceu? tentei fazer um downgrade mas sem sucesso. Tá bem difícil configurar o projeto desse curso.

3 respostas

Fala Fábio! Tudo bem?

Então, o React em si é uma biblioteca em constante atualização e por isso a ferramenta create-react-app segue atualizando.

Acontece que a medida que a biblioteca vai ganhando novas funcionalidades e mudando algumas coisas, vão se definindo alguns conceitos iniciais de como devemos escrever o nosso código.

A atualização do create-react-app feita em março, você pode acompanhar aqui.

Esse commit acima, mais tarde foi alterado para a que temos hoje em dia, veja aqui

A ideia por trás desses commits parte do principio de facilitar quem está começando na biblioteca, por não ter que lidar com algumas peculiaridades que as classes trazem, nem se assustar com uma sintaxe que não conhecia.

Além disso, é também uma recomendação da equipe. O ideal é que, hoje em dia, todos os seus componentes sejam criados (nascimento) como funções, simple components.

E que apenas durante sua codificação, caso você perceba a necessidade, esse componentes se transforme em um Class component, trazendo outras funcionalidades do React.

Repare que todas as outras formas ainda funcionam. Todas as atualizações do React são retro-compatíveis.

Portanto, nada te impede de alterar seu componente para prosseguir da mesma maneira que seu instrutor.

Espero que tenha ajudado!

Qualquer dúvida é só falar!

Abraços.

Entendi. Mas o que eu gostaria era de criar a aplicação com a versão do create-react-app utilizada no curso, pra não ter que ficar alterando os scripts. Andei pesquisando, mas não encontrei uma solução. Parece que não é possível rodar numa versão mais antiga. É isso mesmo?

Fala Fábio,

Você não terá que ficar alterando os scripts, apenas o do arquivo App.js, caso julgar necessário.

O create-react-app se encarrega de criar um projeto padrão com toda a infraestrutura necessária para que sua aplicação possa ser executada (npm start). Feito isso, nada mais é criado por ele, apenas por você, desenvolvedor.

Concluindo, a versão atual não irá afetar o desenvolvimento, tendo em vista que nada mais será criado com o create-react-app.

Se quiser, basta alterar o a assinatura do componente App para ficar igual ao do instrutor e mandar bala!

Espero ter ajudado!

Abraços