História e versões
O React existe há tempo suficiente para ter passado por alguns períodos distintos, e conhecer a trajetória geral dessa história ajuda você a entender o código que vai encontrar por aí. Um tutorial de 2017 e um de hoje podem ser ambos "React" mas parecer bem diferentes. Este capítulo percorre a linha do tempo e explica os dois estilos que você vai encontrar.
Uma linha do tempo breve
O React nasceu no Facebook, onde surgiu da necessidade de manter interfaces grandes e cheias de dados sincronizadas sem uma confusão de atualizações manuais do DOM. Foi lançado como open source em 2013, e a ideia no seu centro, descreva a interface para seus dados atuais e deixe o React cuidar das atualizações, permanece constante até hoje. Quase tudo mais sobre como você escreve React evoluiu em torno desse núcleo.
Durante seus primeiros anos, um componente que precisava guardar algo era escrito como uma classe JavaScript. Classes são um recurso JavaScript ordinário, e o React as usou para dar a um componente um lugar para manter dados que mudam ao longo do tempo, junto com um conjunto de métodos com nomes especiais que o React chamaria em certos momentos: quando o componente aparecia na tela, quando era atualizado e quando era removido. Esse estilo foi o padrão por muito tempo, e é por isso que tanto código React já em produção é escrito desse jeito.
O grande ponto de virada veio com hooks, que chegaram no React 16.8 no início de 2019. Um hook é uma função que o React oferece e que permite que um componente função simples faça coisas que antes só uma classe conseguia fazer, como lembrar um valor entre renderizações. Escrever um componente ficou muito mais curto, e componentes função rapidamente se tornaram o padrão para código novo. Hooks cobre isso direito mais adiante. O que você precisa levar daqui é que hooks foram o que tornaram o estilo moderno possível.
O React continuou evoluindo: React 18 chegou em 2022 e React 19 em 2024, cada um adicionando capacidades e suavizando arestas. Essas versões importam mais uma vez que você está construindo aplicações reais, e aparecem depois no manual onde são relevantes.
Esse é o arco em linhas gerais. Você não precisa memorizar datas. O que realmente importa é que o React tem uma história longa, os fundamentos se mantiveram, e o estilo de escrita se movimentou de forma decisiva para componentes função e hooks.
Dois estilos de React que você vai encontrar
Por causa dessa história, você vai se deparar com React escrito em dois estilos notavelmente diferentes.
O estilo antigo escreve um componente como uma classe. Seus dados que mudam vivem dentro da classe, e o React chama métodos com nomes especiais em pontos definidos na vida do componente. Uma quantidade grande de código em produção ainda funciona assim, e muitos tutoriais antigos, posts de blog e respostas no Stack Overflow são escritos desse jeito. Isso ainda funciona e ainda é suportado. É simplesmente a forma anterior de escrever React.
Como o estilo antigo se parece
Este manual não ensina esse estilo e você não precisa escrever assim. Vale a pena conseguir reconhecê-lo, porque você vai encontrá-lo. Uma base de código mais antiga tem componentes que parecem mais ou menos assim:
class Counter extends React.Component {
state = { count: 0 }
componentDidMount() {
// React chama isso uma vez, logo depois que o componente aparece na tela
}
render() {
return <button>Clicado {this.state.count} vezes</button>
}
}Três coisas o marcam: class e extends React.Component no início, this.state como o lugar onde seus dados que mudam vivem, e nomes de método começando com component que o React chama automaticamente em momentos definidos.
O estilo moderno escreve um componente como uma função e usa hooks para dar memória a ele e para executar código quando as coisas mudam. É assim que novo código React é escrito, e é o que a documentação oficial agora ensina primeiro.
Este curso ensina React moderno: componentes função e hooks em todo lugar. Quando você provavelmente vai se deparar com o equivalente antigo baseado em classes, seja em uma base de código no trabalho ou um tutorial antigo, a gente sinaliza para que os dois façam sentido na sua cabeça e nenhum um jogue você para fora.
Daqui o manual constrói no estilo moderno, e Components é onde isso começa de verdade: um componente como uma função que retorna um pedaço da sua interface. Antes disso rodar, porém, você precisa ter o React instalado e rodando na sua máquina.
class com this.state e componentDidMount, não se assuste e não pense que está fazendo errado. Esse é o estilo antigo de React, e ainda funciona. Este curso usa o estilo mais novo, componentes função com hooks, e vou apontar os equivalentes antigos quando a gente passar por eles para nada pegar você desprevenido.
Próximo: Setting up a React project, onde você vai colocar o React rodando na sua máquina.

