Forcer un ré-rendu (mettre à jour l'état et mettre à jour le DOM) immédiatement avec react.js
Je me rends compte que le fait d'appeler setState
ne met pas à jour this.state
immédiatement, ni ne l'appelez immédiatement render
et actualiser les DOM. Les docs disent
setState() ne prend pas immédiatement muter.l'état crée un état d'attente de transition. L'accès à ce.état après l'appel de cette méthode peut peut-être retourner à la valeur existante.
Il n'y a pas de garantie de fonctionnement synchrone des appels à setState et les appels peuvent être groupées pour des gains de performance.
Je voudrais être en mesure de forcer un "état de transition" comme ceci à tout moment. Cela semble comme il devrait être relativement naturelle de l'opération, mais je ne trouve aucune mention de cela dans les docs. Est-il un moyen de le faire?
source d'informationauteur tjhance
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
forceUpdate
pour cela:https://facebook.github.io/react/docs/component-api.html#forceupdate
Vous pouvez utiliser un
forceUpdate
en conjonction avec la clé sur le haut niveau composant comme si..En modifiant la clé et de forcer une mise à jour, le dom sera toujours rerender.
Voici un exemple qui met en évidence la différence entre une force de modifier, et l'autre avec un changement de clé*.
https://jsfiddle.net/69z2wepo/82763/
*à noter que c'est probablement assez mauvaise pratique.
Merci à Ben Alpert:
https://groups.google.com/forum/#!topic/reactjs/8JgClU9jol0