如何在 TabNavigator 的 Canvas 子项上获取个人 creationPolicy?

Posted

技术标签:

【中文标题】如何在 TabNavigator 的 Canvas 子项上获取个人 creationPolicy?【英文标题】:How to get individual creationPolicy on Canvas child of a TabNavigator? 【发布时间】:2011-04-27 18:49:41 【问题描述】:

已阅读有关 Container creationPolicy 的信息(感谢 *** 中的所有参考资料)

我有一个问题/疑问:

我有一个 TabNavigator 和 AS 代码在初始 Tab 需要参考 第二个选项卡的组件(具有多个子项的 Canvas)。 但是第二个选项卡的组件在该选项卡呈现之前为空。

根据我阅读的文档,我应该能够将第二个选项卡/画布上的 creationPolicy 设置为“全部”; TabNavigator 将实例化其所有***子项,即使使用其多视图 creationPolicy="auto";我希望在创建子选项卡/画布时,该 single-view 容器的 creationPolicy="all" 会受到尊重。

但似乎情况并非如此;如果 TabNavigator 具有 creationPolicy="all" 则填充第二个选项卡(但第三个、第四个......);但是使用“auto”会创建第二个选项卡,但不会填充,即使 its creationPolicy="all".

有没有办法让选定的选项卡预实例化?

【问题讨论】:

【参考方案1】:

有没有办法让选定的选项卡预实例化?

不!您所看到的是预期的行为。如果未创建选项卡的主要子项,则该子项无法创建其所有子项。

您可以考虑稍微重构一下您的代码;当一个组件访问另一个不是它的子组件的组件中的数据时,会破坏封装。

【讨论】:

澄清原帖:TabNavigator 确实创建了Tab的“主要子”(每个Tab的主Canvas);问题是所述 Tab/Canvas 不会创建 子组件,即使它的 creationPolicy="all".

以上是关于如何在 TabNavigator 的 Canvas 子项上获取个人 creationPolicy?的主要内容,如果未能解决你的问题,请参考以下文章

React Native - 如何在每个屏幕中保留 TabNavigator

如何有效地查看 TabNavigator 页面

在 TabNavigator 中隐藏 TabBar 项

Actionscript - 如何在 TabNavigator 的选项卡上设置单击处理程序?

TabNavigator 涵盖内容

用户注销时如何重置 TabNavigator(从其他屏幕)