Je jouais avec les exemples pour comprendre le flux de code interne de setState de React.
J'ai remarqué que l'objet ReactCompositeComponentWrapper faisait référence à _instance Object qui à son tour faisait référence au même objet ReactCompositeComponentWrapper (console de capture d'écran) que _ReactInternalInstance . Est-ce une structure attendue?
Oui, c'est intentionnellement une structure doublement liée. ReactCompositeComponentWrapper
est uniquement interne et encapsule les composants composites définis par l'utilisateur. Il contient une référence à l'instance du composant défini par l'utilisateur qui est définie lors de son montage . Ensuite, ReactInstanceMap
est utilisé pour stocker une référence au wrapper interne sur l'instance publique .
Si vous regardez ReactInstanceMap
il y a plus d'informations dans les commentaires de la documentation
ReactInstanceMap
gère un mappage à partir d'une instance publique avec état (clé) et de la représentation interne (valeur). Cela permet aux méthodes publiques d'accepter l'instance de l'utilisateur en tant qu'argument et de les mapper à des méthodes internes.
(Notez qu'il s'agit de détails d'implémentation privés et qu'ils changeront dans les versions futures.)
Merci pour la clarification, c'était vraiment utile
Commentaire le plus utile
(Notez qu'il s'agit de détails d'implémentation privés et qu'ils changeront dans les versions futures.)