我的塔巴尔设置如下:
<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,最新,离线&amp;更多。
我可以轻松地从Home Tab导航到AudiOplayer场景。
Actions.audioPlayer();
因为我在那个主页选项卡中添加了AudioPlayer场景。
问题:
如何从最新场景中导航到主场景中的AudioPlayer场景?
任何建议。我应该在最新场景中添加AudioPlayer场景以进行导航?
谢谢。
P.S:我不想将AudioPlayer场景放入我的最新选项卡中。我不知道这是唯一的解决方案。
更新:
如果我这样做,
Actions.audioPlayer();
从最新选项卡中,我被导航到Home Tab,从那里到达Audioplayer场景。
我想在最新选项卡的内部进行导航。:)
更新2:
如果我将AudiOplayer场景放在Tabbar之外。我可以像我想要的那样导航到Audioplayer场景。但是我有一个问题。我如何在那个Audioplayer场景中获取底部的塔巴尔?
基于您的第二个更新(将AudioPlayer场景放在选项卡外),在将Prop clone
添加到AudioPlayer场景时尝试该方法。
<Scene
key="audioPlayer"
component={AudioPlayer}
title="AUDIO PLAYER"
clone
/>
编辑:解释克隆的做法
来自文档
用克隆标记的场景将被视为模板,并在按下时将其克隆到当前场景的父母中。
这意味着将使用parent选项卡场景作为模板渲染的推动场景audioPlayer
因此渲染了"选项卡"按钮。