Please explain in the main concepts that react doesn't refire componentDidMount even with conditional rendering and the solution is to use different keys
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 11.8k
- Forks
- 7.9k
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 11
Descripción
As said by someone else here: "This should be way more obvious in the React documentation. This achieved exactly what I was after, but took hours to find."
This also took me hours to find that react doesn't automatically re-mount a component if the code is similar but just props change.
I was using conditional rendering doing:
var mycode = ""
if(a==true) {
mycode = <MyComponent myvar="true"/>
} else {
mycode = <MyComponent myvar="false"/>
}
And was expecting componentDidMount to fire to do crucial stuff, which obviously doesn't happen unless you specify a different key for both (solution at the bottom).
Please make this part of the Main Concepts of the React doc. The above linked answer got +190 upvotes which shows that this is a real problem for many coders.
Thank you very much for your consideration
Solution:
var mycode = ""
if(a==true) {
mycode = <MyComponent myvar="true" key="1"/>
} else {
mycode = <MyComponent myvar="false" key="2"/>
}
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en la sección Main Concepts de la documentación de React, que el issue identifica como el punto de entrada previsto. Explica que el renderizado condicional con props modificadas no vuelve a montar el mismo componente, y documenta el distinct-key approach mostrado en el issue; se considera terminado cuando el comportamiento y la solución están claros para los lectores.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- documentation
- Tipo de issue
- Documentación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100