Después de comenzar a trabajar con React.js, parece que propsestán destinados a ser estáticos (pasados desde el componente principal), mientras que los statecambios se basan en eventos. Sin embargo, noté en los documentos una referencia acomponentWillReceiveProps , que incluye específicamente este ejemplo:
componentWillReceiveProps: function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
}
Esto parece implicar que las propiedades PUEDEN cambiar en un componente basado en la comparación de nextPropsto this.props. ¿Qué me estoy perdiendo? ¿Cómo cambian los accesorios, o me equivoco acerca de dónde se llama esto?
fuente

componentWillReceivePropsestá desactualizado ahora: y reemplazado por una combinación degetDerivedStateFromPropsycomponentDidUpdate.ACCESORIOS
ESTADO
Valéry ya proporciona un buen ejemplo.
fuente
Los accesorios pueden cambiar cuando el padre de un componente vuelve a representar el componente con diferentes propiedades. Creo que esto es principalmente una optimización para que no se necesite instanciar ningún componente nuevo.
fuente
Truco para actualizar accesorios si son array:
fuente
Mucho ha cambiado con los ganchos, por ejemplo,
componentWillReceivePropsconvertido enuseEffect+useRef( como se muestra en esta otra respuesta SO ), pero los accesorios siguen siendo de solo lectura , por lo que solo el método de la persona que llama debe actualizarlo.fuente
si usa
recompose, usemapPropspara hacer nuevos accesorios derivados de accesorios entrantesEditar por ejemplo:
fuente