反应原生路由器通量 - 按Tab键项目时不要弹出根

时间:2017-03-12 21:46:54

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

我有一个带有两个标签的应用: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>

2 个答案:

答案 0 :(得分:3)

感谢@Rob帮助我解决这个问题...如果其他人遇到此问题,只需在之前的版本3.37.0上测试它并修复了问题(我使用{{1} })。但是,3.38.0here上提到了一个问题,即在您查看标签时点击标签不会弹回默认场景。看来,通过尝试在版本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>