will receive react props getderivedstatefromprops example componentwillmount component reactjs

reactjs - receive - react lifecycle diagram



¿Qué tipo de inicialización es más apropiada en constructor vs componentWillMount? (2)

Si tengo un componente React que requiere alguna configuración (por ejemplo, para los temporizadores o la API de WebAudio, etc.), estoy teniendo problemas para decidir si la inicialización debe ir en el constructor o componentWillMount . ¿Hay alguna ventaja o desventaja para alguno de los dos? No me queda claro cuál es el mejor lugar para esto.

Busqué en Google un poco para ver si alguien había discutido las diferencias entre constructor y componentWillMount pero no pude encontrar nada.

EDITAR: Redux y cualquier función asíncrona no deben formar parte de la ecuación.


Normalmente, lo único que hace en el constructor es asignar su inicial this.state si su componente es con estado. No debes hacer nada más en el constructor.

componentWillMount generalmente no es necesario. Yo diría que en la mayoría de los casos su uso es un anti-patrón. Una razón por la que la gente lo usa es para actualizar el estado desde una fuente externa por última vez antes de renderizar, pero técnicamente asignarlo en el constructor es equivalente. La única conveniencia menor que ofrece es que puede establecer setState dentro de él, pero no puede hacerlo dentro del constructor.

Para cualquier efecto secundario (obtención de datos o manipulación de DOM), debe usar componentDidMount .


Si desea llamar a alguna acción de flujo (para llamadas ajax) use componentWillMount o componentDidMount.

Se puede inicializar el estado en el constructor.