使场景在其他选项卡中可用-React Native Router Flux

时间:2019-02-20 11:05:11

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

我的标签栏设置如下:

<Router>
            <Stack key="root">
                <Scene
                    key="tabbar"
                    tabs
                    tabBarStyle={styles.tabBar}
                >
                    <Scene 
                        key="home" 
                        title="HOME"
                    >
                        <Scene 
                            key="home"
                            component={Home}
                        />
                        <Scene 
                            key="audioPlayer"
                            component={AudioPlayer}
                            title="AUDIO PLAYER"
                        />
                        <Scene 
                            key="notification"
                            component={Notification}
                            title="NOTIFICATIONS"
                        />

                        <Scene 
                            key="search"
                            component={Search}
                            title="SEARCH"
                        />

                    </Scene>                

                    <Scene 
                            key="latest"
                            title="LATEST"
                            component={Latest}
                    />

                    <Scene 
                            key="offline"
                            component={Offline}
                            title="OFFLINE"
                    />

                    <Scene
                        key="more"
                        component={More}
                        title="MORE"
                    />

                </Scene> 
            </Stack>
        </Router>

案例:

我有4个标签分别为:首页,最新,离线和更多。

我可以从“主页”选项卡轻松导航到audioPlayer场景。

 Actions.audioPlayer();

因为我已在该“首页”选项卡场景中添加了audioPlayer场景。

问题:

如何从最新场景导航到Home场景内的那个audioPlayer场景?

任何建议。 我是否必须在“最新场景”中添加audioPlayer场景以进行导航?

谢谢。

P.S:我不想将那个audioPlayer场景放到我的最新标签中。 我不知道这是否是唯一的解决方案。

更新:

如果我这样做

Actions.audioPlayer(); 

从最新选项卡,我导航到主选项卡,然后从那里导航到audioPlayer场景。

我希望该导航位于“最新”标签中。 :)

更新2:

如果我将audioPlayer场景放置在tabbar之外。我可以根据需要导航到audioPlayer场景。 但是我有一个问题。 如何在该audioPlayer场景中获得底部的标签栏?

1 个答案:

答案 0 :(得分:1)

根据您的第二次更新(将audioPlayer场景置于选项卡之外),在将道具clone添加到AudioPlayer场景时尝试该方法。

<Scene 
  key="audioPlayer"
  component={AudioPlayer}
  title="AUDIO PLAYER"
  clone
 />

编辑:解释克隆的作用

来自文档

  

标记为克隆的场景将被视为模板,并在按下时克隆到当前场景的父级中。

这意味着将使用父选项卡场景作为模板来渲染推送的场景audioPlayer,从而渲染选项卡按钮。