image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Camila Rozendo
Camila Rozendo27/05/2024 17:07
Compartilhe

Guia Prático: Utilizando useState e useEffect em seu Projeto React

  • #React

Introdução

Neste artigo, vamos explorar dois dos hooks mais importantes no React: useState e useEffect. Eles permitem que você adicione estado e efeitos colaterais a componentes funcionais, tornando seu código mais limpo e eficiente. Vamos direto ao ponto com exemplos práticos.

Como Utilizar o useState

O que é useState?

O hook useState permite que você adicione um estado local a componentes funcionais. Ele retorna um array com duas posições: o estado atual e uma função para atualizá-lo.

Exemplo Prático: Contador Simples

Vamos criar um contador simples que aumenta o valor a cada clique.

import React, { useState } from 'react';

function Contador() {
 const [contador, setContador] = useState(0);

 return (
<div>
 <p>Você clicou {contador} vezes</p>
 <button onClick={() => setContador(contador + 1)}>
  Clique aqui
 </button>
</div>
 );
}

export default Contador;

Neste exemplo, useState(0) inicializa o estado contador com o valor 0. A função setContador é usada para atualizar o estado quando o botão é clicado.

Como Utilizar o useEffect

O que é useEffect?

O hook useEffect permite que você execute efeitos colaterais em componentes funcionais. É similar aos métodos de ciclo de vida componentDidMount, componentDidUpdate, e componentWillUnmount nas classes.

Exemplo Prático: Fetch de Dados

Vamos buscar dados de uma API quando o componente é montado.

import React, { useState, useEffect } from 'react';

function DadosUsuario() {
 const [usuario, setUsuario] = useState(null);

 useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/users/1')
 .then(response => response.json())
 .then(data => setUsuario(data));
 }, []);

 if (!usuario) return <div>Carregando...</div>;

 return (
<div>
 <h1>{usuario.name}</h1>
 <p>Email: {usuario.email}</p>
</div>
 );
}

export default DadosUsuario;

Aqui, useEffect é utilizado para buscar dados quando o componente é montado ([] como segundo argumento indica que o efeito só roda uma vez, semelhante a componentDidMount).

Utilizando useState e useEffect Juntos

Exemplo Prático: Filtrando uma Lista de Itens

Vamos criar um componente que filtra uma lista de itens com base em uma entrada do usuário.

import React, { useState, useEffect } from 'react';

function ListaFiltrada() {
 const [itens, setItens] = useState([]);
 const [filtro, setFiltro] = useState('');
 const [itensFiltrados, setItensFiltrados] = useState([]);

 useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/todos')
 .then(response => response.json())
 .then(data => setItens(data));
 }, []);

 useEffect(() => {
setItensFiltrados(
 itens.filter(item => item.title.includes(filtro))
);
 }, [filtro, itens]);

 return (
<div>
 <input
  type="text"
  value={filtro}
  onChange={e => setFiltro(e.target.value)}
  placeholder="Filtrar itens"
 />
 <ul>
  {itensFiltrados.map(item => (
   <li key={item.id}>{item.title}</li>
  ))}
 </ul>
</div>
 );
}

export default ListaFiltrada;

Neste exemplo, utilizamos dois hooks useEffect: o primeiro para buscar os itens da API quando o componente é montado, e o segundo para filtrar a lista de itens com base na entrada do usuário.

Conclusão

Os hooks useState e useEffect são fundamentais para o desenvolvimento de componentes funcionais no React. Eles permitem que você gerencie estado e efeitos colaterais de maneira simples e eficaz. Com os exemplos práticos deste artigo, você está pronto para começar a usá-los em seus próprios projetos. Boa codificação!

Compartilhe
Recomendados para você
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Microsoft 50 Anos - Computação em Nuvem com Azure
Comentários (0)