Como mudar um estado dentro do useEffect do React JS
Neste artigo você aprenderá a como mudar um estado dentro do useEffect, utilizando o hook useState para isso

Fala programador(a), beleza? Bora aprender mais sobre React JS!
Em aplicações React, frequentemente precisamos combinar lógicas relacionadas ao ciclo de vida de um componente com o gerenciamento de seu estado interno.
O hook useEffect permite que realizemos efeitos colaterais em componentes funcionais, enquanto o useState é utilizado para gerenciar o estado.
Neste artigo, vamos mergulhar em como modificar o estado de um componente dentro do useEffect.
Entendendo o useEffect
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O que é useEffect?
O useEffect é um hook introduzido no React 16.8, que permite executar efeitos colaterais em componentes funcionais.
Se você estiver familiarizado com as classes do React, pode pensar no useEffect como uma combinação dos métodos componentDidMount, componentDidUpdate e componentWillUnmount.
Quando usar o useEffect?
O useEffect é especialmente útil quando:
- Precisamos realizar chamadas de API ao montar um componente.
- Queremos adicionar ou remover event listeners.
- Desejamos manipular o DOM diretamente.
- Queremos realizar ações baseadas em mudanças no estado ou nas props.
useState: Um rápido lembrete
Antes de prosseguirmos, é importante lembrar rapidamente do hook useState, que permite que componentes funcionais tenham estados.

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →const [estado, setEstado] = useState(valorInicial);
Atualizando o Estado dentro do useEffect
Exemplo Básico
Vamos supor que temos um componente que precisa carregar dados de uma API quando é montado e queremos atualizar o estado com esses dados.
import React, { useState, useEffect } from 'react';
const ExemploComponente = () => {
const [dados, setDados] = useState([]);
useEffect(() => {
fetch('https://api.exemplo.com/dados')
.then(response => response.json())
.then(dadosRecebidos => {
setDados(dadosRecebidos);
});
}, []);
return (
<div>
{dados.map(dado => (
<p key={dado.id}>{dado.nome}</p>
))}
</div>
);
};
No exemplo acima, utilizamos o useEffect para realizar a chamada de API quando o componente é montado ([] como segundo argumento do useEffect garante isso). E, dentro do useEffect, atualizamos o estado com o método setDados.

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Considerações importantes
- Evite loops infinitos: Sempre que mudamos o estado dentro do
useEffect, há risco de causar um loop infinito. Por isso, é vital entender as dependências douseEffect. No exemplo acima, o[]garante que o efeito seja executado apenas uma vez, quando o componente é montado. - Lidando com efeitos colaterais: Se você estiver configurando listeners ou subscrevendo a algum serviço, lembre-se de fazer a limpeza no retorno do
useEffectpara evitar vazamentos de memória.
useEffect(() => {
const handleResize = () => {
// ...
}
window.addEventListener('resize', handleResize);
// Limpeza
return () => {
window.removeEventListener('resize', handleResize);
}
}, []);
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
O useEffect e o useState são ferramentas poderosas que, quando combinadas, oferecem grande flexibilidade para lidar com efeitos colaterais e estado em componentes funcionais.
Ao atualizar o estado dentro do useEffect, é crucial entender as dependências do efeito e garantir que não estejamos inadvertidamente causando loops infinitos ou outros comportamentos indesejados.
Ao trabalhar com esses hooks, sempre lembre-se de seguir as melhores práticas, como lidar corretamente com efeitos colaterais e utilizar a abordagem mais otimizada e moderna para obter resultados eficientes e confiáveis em suas aplicações React.
Está buscando evoluir como Programador? Confira o nossos cursos de programação.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como adicionar parametros no redirect com React Router
Neste artigo você aprenderá a como adicionar parametros no redirect com React Router, para redirecionar o usuário com algum valor Fala programador(a), beleza? Bora aprender […]

Curso de React do zero ao avançado completo com certificado
No curso de React do básico a avançado completo com certificado você vai aprender a criar projetos completos com React, utilizando tecnologias em alta no […]

Como renderizar HTML puro em React JS
Neste artigo você aprenderá a como renderizar HTML puro em React, ou seja, como mostrar código HTML pelo JSX Fala programador(a), bora aprender mais sobre […]
