Effects e chamadas de APIs
Além do estado, um outro conceito importante no React é o de effects. Effects são como efeitos colaterais, ou seja, ações que acontecem no componente quando algum dado é alterado no estado.
A sintaxe do effect é um pouco estranha no começo, mas com o tempo fica fácil de entender.
Para declarar um effect, usamos o useEffect
.
Como funciona o useEffect
O useEffect vai executar a função que você passar como primeiro argumento sempre que alguma variável que você passou como segundo argumento mudar.
Se você passar mais valores no array de dependências, o useEffect vai executar a função sempre que qualquer um desses valores mudar.
Regra importante: Effects (e hooks em geral) só podem ser usados dentro de componentes funcionais na função principal.
Os effects devem estar dentro do bloco principal da função do componente.
Chamadas de APIs
Uma funcionalidade comum do useEffect é fazer chamadas de APIs. O mais comum para buscar dados é fazer isso no momento em que a página é carregada.
Para fazer isso, usamos um array vazio como segundo argumento do useEffect
.
Depois disso, precisamos salvar os dados em algum lugar. Você consegue imaginar como?
Exatamente! Usando o estado.
Simulando uma API na nossa aplicação
Até o momento, estávamos recebendo os dados dos imóveis de forma estática. Agora vamos simular uma API para buscar os dados de forma dinâmica.
Para simular nosso servidor, vamos criar um arquivo .json
com os dados dos imóveis. Em um servidor real, esses dados provavelmente estaríamos salvos em um banco de dados.
Crie um arquivo chamado properties.json
na pasta src/data
e cole o seguinte conteúdo:
Agora vamos fazer o fetch dos dados no nosso componente App.
Com isso, nossa primeira versão da aplicação já está funcionando da forma como gostaríamos.
Parabéns! 🎉