🔄
Hooks

Deps instáveis no useEffect

Objetos/arrays criados inline são novos a cada render — colocá-los nas deps causa loop infinito.

Definição

O array de dependências do useEffect compara valores via Object.is (similar a ===). Objetos/arrays criados inline têm nova referência a cada render, fazendo o effect re-executar mesmo sem mudança real de valor.

🔴 Problema

options = { limit: 10 } dentro do componente: novo objeto todo render = nova referência = effect re-executa sempre.

Solução

Estabilizar com useMemo, usar valores primitivos nas deps, ou mover a constante para fora.

💡 Dica Senior

setters do useState (setData, setLoading) são estáveis por garantia do React — não precisam estar nas deps.

Perguntas de Entrevista

9/48