J'utilise React depuis des années, mais je n'ai jamais eu de méthode miracle pour implémenter shouldComponentUpdate
. Les vérifications approfondies de l'égalité des props et des états imbriqués peuvent être difficiles.
Cependant, quel est le problème avec quelque chose comme ça :
shouldComponentUpdate(nextProps, nextState) {
const propsChanged = JSON.stringify(this.props) !== JSON.stringify(nextProps)
const stateChanged = JSON.stringify(this.state) !== JSON.stringify(nextState)
return propsChanged || stateChanged
}
Est-ce approprié ? Cela pourrait-il échouer de manière inattendue ?
Je pense que JSON.stringify
et la comparaison directe de chaînes de caractères seraient également des opérations très rapides.
Dans l'ensemble, cette approche me semble saine, mais je me demande si je ne manque pas de pièges évidents.