Si encuentro que mi componentDidUpdate(prevProps, prevState) se ejecuta muchas veces con los mismos accesorios y valores de estado pero con diferentes referencias, ¿es una señal de mal diseño?
componentDidUpdate(prevProps, prevState) { console.log('isPropsReferenceEqual: ', prevProps === this.props); // false console.log('isStateReferenceEqual: ', prevState === this.state); // false console.log('isPropsValueEqual: ', JSON.stringify(prevProps) === JSON.stringify(this.props)); // true console.log('isStateValueEqual: ', JSON.stringify(prevState) === JSON.stringify(this.state)); // true } Se podría evitar agregar el control de igualdad de valor en shouldComponentUpdate(nextProps) pero esa no es la cuestión. La pregunta es que se considera que el componentDidUpdate() activa el cambio de propiedad o de estado, si este cambio de estado o de propiedad es un cambio de referencia con los mismos valores se debe a un mal diseño y falla de los programadores y debería haberse evitado antes en la gestión de estado, por ejemplo, antes del envío. la acción o verificación en el reductor que actualizará la igualdad de valor de verificación de estado.