Order of life cycle method calls with error boundaries is unexpected
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 have a requirement for my app to track when a component has completed rendering and whether the render ended in success or failure. I expected to be able to use the componentDidMount/componentDidUpdate life cycle methods along with an error boundary's componentDidCatch method to handle both success and failure cases.
However, I am noticing that the order of the life cycle methods is not what I expect. When an exception is raised within a child component in the error boundary, the component's componentDidMount/componentDidUpdate method will get called first before componentDidCatch. So I can't simply use componentDidMount/componentDidUpdate to determine that my scenario ended in success.
Is this a bug? How would I go about achieving this scenario?
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Nenhum arquivo, teste ou ponto de entrada é especificado. Comece localizando a documentação do React que aborda componentDidMount, componentDidUpdate, componentDidCatch e error boundaries; em seguida, verifique a ordem do ciclo de vida relatada. A tarefa estará concluída quando o comportamento esperado e uma forma compatível de distinguir entre uma renderização bem-sucedida e uma malsucedida estiverem claramente documentados.
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
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100