0

コンテナの作成ポリシーについて読んだ(StackOverflowのすべての参照に感謝します)

問題/質問があります:

最初のタブに TabNavigator と AS コードがあり、2 番目のタブ (複数の子を持つキャンバス) のコンポーネントを参照する必要があります。
ただし、2 番目のタブのコンポーネントは、そのタブがレンダリングされるまで null です。

私が読んだドキュメントによると、2番目のタブ/キャンバスの作成ポリシーを「すべて」に設定できるはずです。マルチビューの creationPolicy="auto" であっても、TabNavigator はすべての最上位の子をインスタンス化します。そして、子タブ/キャンバスを作成するときに、その単一ビューコンテナの creationPolicy="all" が尊重されることを望んでいました。

しかし、そうではないようです。TabNavigator に creationPolicy="all" がある場合、2 番目のタブに値が入力されます (ただし、3 番目、4 番目、... も同様です)。ただし、「auto」を使用すると、2 番目のタブが作成されますが作成ポリシーが "all" であってもデータは入力されません。

選択したタブだけを事前にインスタンス化する方法はありますか?

4

1 に答える 1

0

Is there a way to get just selected Tabs to pre-instantiate?

No! What you are seeing is expected behavior. If the Tab's primary child is not created then that child cannot create all of it's children.

You may consider refactoring your code a bit; as one component access data in another component that is not it's child breaks encapsulation.

于 2010-10-20T01:14:09.810 に答える