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

问题描述 投票:0回答:1

我的tabbar设置如下:

<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个标签命名为:Home,Latest,Offline&More。

我可以从Home选项卡轻松导航到audioPlayer场景。

 Actions.audioPlayer();

因为我在Home标签场景中添加了audioPlayer场景。

问题:

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

有什么建议。我是否应该在最新场景中添加audioPlayer场景以进行导航?

谢谢。

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

更新:

如果我做 ,

Actions.audioPlayer(); 

从最新的标签,我导航到主页选项卡,从那里到audioPlayer场景。

我想在最新选项卡中进行导航。 :)

更新2:

如果我把audioPlayer场景放在tabbar之外。我可以像我想的那样导航到audioPlayer场景。但是我遇到了一个问题。如何在audioPlayer场景中获得底部标签栏?

ios react-native react-native-router-flux
1个回答
2
投票

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

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

Edit: To explain what clone does

来自文档

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

这意味着推送的场景audioPlayer将使用父标签场景作为模板进行渲染,从而呈现标签按钮。

© www.soinside.com 2019 - 2024. All rights reserved.