React: _instanceは_ReactInternalInstanceを指していますか?_ReactInternalInstanceは_instanceを指しています、期待される構造ですか?

作成日 2017年01月07日  ·  3コメント  ·  ソース: facebook/react

screen shot 2017-01-07 at 09 26 55

ReactのsetStateの内部コードフローを理解するために、例を試してみました。
ReactCompositeComponentWrapperオブジェクトが_instanceオブジェクトが_ReactInternalInstanceと同じ(スクリーンショットのコンソール)ReactCompositeComponentWrapperオブジェクトを参照していることに気付きました。 それは予想される構造ですか?

Question

最も参考になるコメント

(これらは非公開の実装の詳細であり、将来のバージョンで変更されることに注意してください。)

全てのコメント3件

はい、それは意図的に二重にリンクされた構造です。 ReactCompositeComponentWrapperは内部のみであり、ユーザー定義の複合コンポーネントをラップします。 マウント時に定義されるユーザー定義コンポーネントのインスタンスへの参照を保持します。 次に、 ReactInstanceMapを使用して、パブリックインスタンスの内部ラッパーへの参照を格納します

ReactInstanceMapを見ると、ドキュメントのコメントにいくつかの詳細情報があります

ReactInstanceMapは、パブリックに面したステートフルインスタンス(キー)と内部表現(値)からのマッピングを維持します。 これにより、パブリックメソッドは、ユーザー向けのインスタンスを引数として受け入れ、それらを内部メソッドにマップし直すことができます。

(これらは非公開の実装の詳細であり、将来のバージョンで変更されることに注意してください。)

説明をありがとう、それは本当に役に立ちました

このページは役に立ちましたか?
0 / 5 - 0 評価