Histórico e versões
React existe há tempo suficiente para ter passado por algumas eras bem distintas, e conhecer a forma geral desse histórico ajuda você a ler o código que vai encontrar por aí. Um tutorial de 2017 e um de hoje podem ser ambos "React" e mesmo assim parecer bem diferentes. Este capítulo percorre a linha do tempo e explica os dois estilos que você vai encontrar.
Uma breve linha do tempo
React começou no Facebook, onde surgiu da necessidade de manter interfaces grandes e pesadas em dados sincronizadas sem um emaranhado 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 React cuidar das atualizações — permanece constante até hoje. Quase tudo mais sobre como você escreve React evoluiu em volta desse núcleo.
Pelos primeiros anos, um componente que precisava lembrar de algo era escrito como uma classe JavaScript. Classes são um recurso JavaScript comum, e React as usava para dar ao componente um lugar para guardar dados que mudam com o tempo, junto com um conjunto de métodos com nomes especiais que React chamaria em certos momentos: quando o componente aparecia na tela, quando atualizava e quando era removido. Esse estilo foi o padrão por um bom tempo, e é por isso que muito do código React que já existe por aí é escrito dessa forma.
A grande mudança veio com hooks, que chegaram no React 16.8 no início de 2019. Um hook é uma função que React oferece e que permite a um componente função simples fazer as coisas que só uma classe podia fazer antes, 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 adiante por enquanto é que hooks são o que tornou o estilo moderno possível.
React continuou evoluindo desde então: React 18 chegou em 2022 e React 19 em 2024, cada um adicionando capacidades e suavizando arestas ásperas. Esses lançamentos importam mais uma vez que você está construindo aplicações reais, e eles aparecem depois no handbook onde são relevantes.
Esse é o arco em linhas gerais. Você não precisa memorizar datas. O aprendizado útil é que React tem um histórico longo, os fundamentos se mantiveram estáveis, e o estilo de escrita se moveu decisivamente para componentes função e hooks.
Dois estilos de React na natureza
Por causa desse histórico, você vai encontrar React escrito em dois estilos notavelmente diferentes.
O estilo mais antigo escreve um componente como uma classe. Seus dados que mudam vivem dentro da classe, e React chama métodos com nomes especiais nela em pontos definidos na vida do componente. Uma grande quantidade de código em produção ainda funciona dessa forma, e muitos tutoriais, posts de blog e respostas do Stack Overflow mais antigos são escritos assim. Ainda funciona e ainda é suportado. É simplesmente o jeito anterior de escrever React.
Como o estilo mais antigo se parece
Este handbook não ensina esse estilo e você não precisa escrevê-lo. Vale a pena conseguir reconhecê-lo, porque você vai encontrá-lo. Uma base de código mais antiga tem componentes que se parecem com algo 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 marcam isso: class e extends React.Component no topo, this.state como o lugar onde seus dados que mudam vivem, e nomes de métodos começando com component que React chama automaticamente em momentos definidos.
O estilo moderno escreve um componente como uma função e usa hooks para dar a ele memória e para rodar código quando as coisas mudam. Isso é o que código React novo é escrito, e é o que a documentação oficial agora ensina primeiro.
Este curso ensina React moderno: componentes função e hooks do começo ao fim. Onde você provavelmente vai bater de frente com o equivalente mais antigo baseado em classes, seja em uma base de código no trabalho ou em um tutorial mais velho, vamos sinalizar para que os dois conectem na sua cabeça e nenhum dos dois o surpreenda.
A partir daqui o handbook constrói no estilo moderno, e Componentes é onde aquilo começa de verdade: um componente como uma função que retorna um pedaço da sua interface. Antes que nada disso rode, você precisa ter React instalado e rodando na sua própria máquina.
class com this.state e componentDidMount, não entre em pânico e não pense que você está fazendo errado. Esse é o estilo mais antigo de React, e ainda funciona. Este curso usa o estilo mais recente, componentes função com hooks, e vou apontar os equivalentes mais antigos quando passarmos por eles para que nada o pegue de surpresa. Próximo: Configurar um projeto React, onde você vai colocar React rodando na sua própria máquina.

