Ich habe mit den Beispielen gespielt, um den internen Code-Fluss von Reacts setState zu verstehen.
Ich bemerkte , dass ReactCompositeComponentWrapper Objektverweis auf _instance Objekt hatte die wiederum Bezug auf das gleiche (Screenshot des Mischpults) hatten ReactCompositeComponentWrapper Objekt als _ReactInternalInstance. Ist das eine erwartete Struktur?
Ja, es ist absichtlich eine doppelt verknüpfte Struktur. ReactCompositeComponentWrapper
ist nur intern und umschließt benutzerdefinierte Verbundkomponenten. Es enthält einen Verweis auf die Instanz der benutzerdefinierten Komponente, die beim Mounten definiert ReactInstanceMap
verwendet, um einen Verweis auf den internen Wrapper in der öffentlichen Instanz zu
Wenn Sie sich ReactInstanceMap
ansehen, finden Sie weitere Informationen in den Dokumentkommentaren
ReactInstanceMap
verwaltet eine Zuordnung von einer öffentlich zugänglichen Stateful-Instanz (Schlüssel) und der internen Darstellung (Wert). Auf diese Weise können öffentliche Methoden die benutzerbezogene Instanz als Argument akzeptieren und sie internen Methoden zuordnen.
(Beachten Sie, dass dies Details zur privaten Implementierung sind und sich in zukünftigen Versionen ändern werden.)
Vielen Dank für die Klarstellung, es war wirklich hilfreich
Hilfreichster Kommentar
(Beachten Sie, dass dies Details zur privaten Implementierung sind und sich in zukünftigen Versionen ändern werden.)