我有一个带有两个标签的应用:Tab1和Tab2。有两个场景:scene1和scene2作为我的Tab1组的一部分,其中scene1是初始视图。如果我导航到scene2,然后按Tab2,然后返回到Tab1,它会自动从Tab1弹出scene2并返回到scene1而不是停留在scene2上,这不是我想要的行为。
所以我的问题:是否有一种方法在react-native-router-flux中,当我按下标签栏项目时,我可以阻止视图弹出到根目录?理想情况下,当我在同一个标签栏项目中查看视图时,它只会弹出到根视图。所以在上面的例子中,当我第一次按Tab1时它停留在上一个现有视图上,但如果我再次按下它然后弹出到根。
编辑:包括我的代码
<Scene key="root">
<Scene key="tabbar" tabs tabBarStyle={{ backgroundColor: '#FFFFFF' }} >
<Scene key="osu" title="OSU" icon={TabIcon}>
<Scene key="scarlet" component={ScarletScreen} title="Scarlet" initial />
<Scene key="gray" component={GrayScreen} title="Gray" />
</Scene>
<Scene key="um" title="UM" icon={TabIcon}>
<Scene key="blue" component={BlueScreen} title="Blue" initial />
<Scene key="maize" component={MaizeScreen} title="Maize" />
</Scene>
</Scene>
</Scene>
答案 0 :(得分:3)
感谢@Rob帮助我解决这个问题...如果其他人遇到此问题,只需在之前的版本3.37.0
上测试它并修复了问题(我使用{{1} })。但是,3.38.0
在here上提到了一个问题,即在您查看标签时点击标签不会弹回默认场景。看来,通过尝试在版本3.37.0
中解决该问题,它导致我发布的上述问题。所以我想你现在必须决定哪个是最不令人反感的,但希望他们能在以后的版本中解决这两个案例......
答案 1 :(得分:0)
您是否设置了tabs
属性集,并为每个标签组设置了initial
场景?
<Scene key="tabs" tabs={true} initial={true} tabBarStyle={styles.tabBar}>
<Scene key="oneTab" title="One" icon={oneTabIcon} hideNavBar={true}>
<Scene key="alpha" component={AlphaScene} initial={true} hideTabBar={false} />
<Scene key="beta" component={BetaScene} hideTabBar={false} />
<Scene key="gamma" component={GammaScene} hideTabBar={false} />
</Scene>
<Scene key="twoTab" title="Two" icon={twoTabIcon} hideNavBar={true}>
<Scene key="delta" component={DeltaScene} initial={true} />
</Scene>
</Scene>