如何访问prop传递给react-native-router-flux中其他选项卡中的第一个选项卡?

时间:2017-06-29 20:54:35

标签: reactjs react-native react-native-router-flux

我有一个react-react-native-router-flux的路由器,并配置了两个选项卡:

<Scene key="page1" component={Page1} title="Page1" />
<Scene key="mytabs" tabs={true}>
    <Scene key="tab1" component={Tab1}/>
    <Scene key="tab2" component={Tab2}/>
</Scene>

我打电话给我的第一个标签并传递道具,如:

Actions.mytabs({id:5});

这很好用,Tab1组件可以访问该道具。但是当我点击Tabbar中的tab2导航时,我再也没有这个ID了。我怎么能存储它。在路由器的状态?我该怎么做?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我认为不可能以某种方式神奇地保存这些信息。我通过将id存储在redux中并在每个选项卡的组件中从中读取它来构建一个简单的解决方法。效果很好。

答案 1 :(得分:0)

是的!我在“标签”中找到了问题。 默认情况下,标签是“包装式”的-也就是说,所有子级均由Stack包裹,并带有自己的导航栏。您可以通过在Tabs上使用wrap = {false}来禁用换行,然后再次检查传递的道具。

<Scene key="Scene" tabs={true} wrap={false}> <Scene key="someTab" component={SomeTab} title="SomeTab" icon={TabIcon}/> <Scene key="Modal" component={Modal} title="Modal" hideNavBar direction="vertical"/> </Scene>

在通过Actions.Modal({someProp:theProp})从someTab传递到Modal时找到了道具