reactjs / reactjs/react.dev

Incorrect documentation for fixing memory leaks

Aberta
#1,082 7 comentários 5 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

The "isMounted is an Antipattern" documentation article suggest avoiding memory leaks with makeCancelable, but this doesn't actually solve the issue since the callback is still referenced. The garbage collector does not understand that setting hasCanceled_ means that resolve will never be called, so it cannot release resolve or the references contained within. Even if it could, reject might also reference this, so memory leaks could still exist. Instead, makeCancelable should store the resolve and reject callbacks itself, and it should null them out on cancelation.

Another user pointed this issue out in https://github.com/facebook/react/issues/5465#issuecomment-287113777

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

O material afetado é o artigo “isMounted is an Antipattern” vinculado na issue; comece revisando seu exemplo de makeCancelable e a discussão referenciada. Atualize a documentação para que suas orientações sobre vazamentos de memória estejam tecnicamente corretas e, em seguida, verifique se o artigo não recomenda mais a implementação contestada.

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
Claramente especificada
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

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