reactjs / reactjs/react.dev

Clarify why useEffect() may need exhaustive deps

Aberta
#3,763 4 comentários 2 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
JavaScript
Estrelas
11.8k
Forks
7.9k
Merge médio
1d 11h
PRs com merge (30d)
11

Descrição

I may be having a... moment, but in Conditionally firing an effect, is this sentence accurate?

If you use this optimization, make sure the array includes all values from the component scope (such as props and state) that change over time and that are used by the effect. Otherwise, your code will reference stale values from previous renders.

Doesn't useEffect capture the latest props and state the moment any of its dependencies change? What can happen is the effect misses some updates when things it references change and they're not included as deps, but when it does run the props and state are "fresh" (pertaining to the latest render), are they not?

(Edit: removed unrelated point)

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece pela seção vinculada “Conditionally firing an effect” e revise a frase sobre os valores do component scope comparando-a com o comportamento documentado das dependências de useEffect. O trabalho estará concluído quando a redação explicar com precisão o que acontece quando valores referenciados são omitidos do array de dependências.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript, react
Domínio
documentation
Tipo de issue
Documentação
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.