setState
conduira à re-render
de composant. Pour chaque render
de composant, getDerivedStateFromProps
doit être appelé. Voici comment fonctionne getDerivedStateFromProps
.
Ce que vous devez considérer, c'est comment renvoyer un état partiel à fusionner.
Sans exemple de code, je ne comprends pas ce que vous dites ou demandez.
On s'attend à ce que getDerivedStateFromProps
soit appelé après un setState
, puisque l'état retourné par getDerivedStateFromProps
est basé à la fois sur l'actuel props
et sur le state
précédent state
. Donc, si l'état a changé, (par un appel setState
), il est possible que l'état dérivé ait également changé (puisqu'il s'agit d'une combinaison de props
et state
) .
Nous ne l'avons pas rappelé auparavant si props
n'a pas changé, mais ce comportement a causé des problèmes et nous l'avons donc changé (corrigé) en 16.4 comme mentionné dans ce billet de blog:
https://reactjs.org/blog/2018/05/23/react-v-16-4.html#bugfix -for-getderivedstatefromprops
Si vous souhaitez partager du code et poser une question spécifique sur la raison pour laquelle la méthode est exécutée, l'un de nous pourrait jeter un coup d'œil. Pour l'instant, je suppose que votre question a été répondue: sourire:
setState
conduira àre-render
de composant. Pour chaquerender
de composant,getDerivedStateFromProps
doit être appelé. Voici comment fonctionnegetDerivedStateFromProps
.Ce que vous devez considérer, c'est comment renvoyer un état partiel à fusionner.
Merci
@bvaughn , merci pour la réponse