Lorsque vous mettez directement à jour l'état, cela ne change pas cela. indiquer immédiatement. Au lieu de cela, il crée une transition d'état en attente, et l'accès après avoir appelé cette méthode ne renvoie la valeur actuelle que. Vous perdrez le contrôle de l'État dans tous les composants.
- Pourquoi ne pouvons-nous pas changer d'état directement?
- Pourquoi ne pas mettre à jour l'état directement dans React?
- Pourquoi les objets d'état ne sont pas recommandés pour muter directement?
- Que se passe-t-il si nous changeons d'état directement dans React?
Pourquoi ne pouvons-nous pas changer d'état directement?
Ainsi, lorsque vous mutez l'état directement et appelez SetState () avec un objet vide. L'état précédent sera pollué par votre mutation. En raison de laquelle, la comparaison et la fusion peu profondes de deux États seront dérangées ou ne se produiront pas, car vous n'aurez qu'un seul État maintenant.
Pourquoi ne pas mettre à jour l'état directement dans React?
Les mises à jour d'état dans React sont asynchrones; Lorsqu'une mise à jour est demandée, rien ne garantit que les mises à jour seront effectuées immédiatement. La mise à jour des fonctions de mise à jour modifie l'état des composants, mais React peut retarder les modifications, mettant à jour plusieurs composants en une seule réussite.
Pourquoi les objets d'état ne sont pas recommandés pour muter directement?
La modification de l'état directement perturbera ce processus. En conséquence, le composant se comportera de façon inattendue.
Que se passe-t-il si nous changeons d'état directement dans React?
L'état d'un composant est géré en interne par réact. La mise à jour directement de l'état d'un composant peut avoir des conséquences imprévues qui peuvent être difficiles à déboguer. Si l'État est mis à jour directement comme dans l'exemple ci-dessus, le composant ne remettra pas car l'état est comparé peu profondément.