【问题标题】:React native router flux - Don't Pop to Root When Tab Item Pressed反应本机路由器通量-按下选项卡项时不要弹出到根目录
【发布时间】:2017-03-12 21:46:54
【问题描述】:

我有一个包含两个选项卡的应用程序: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>

【问题讨论】:

  • 我之前在react-native-router-flux 上没有经历过这种情况。您是否在每个选项卡场景组中的第一个嵌套 Scene 上设置了 initial 属性?
  • @Rob 是的。我的问题是,当我返回选项卡场景组时,它总是跳回初始场景,即使我导航到组内的另一个场景。所以说我有两个场景:scene1 和scene2 作为我的Tab1 组的一部分,其中scene1 是初始视图。如果我导航到scene2,然后按Tab2,然后返回Tab1,它会自动返回scene1,而不是停留在scene2。我很确定这是默认行为 - 你是说这不会发生在你身上吗?
  • 这绝对不会发生在我身上。并且您在包装场景上设置了 tabs 属性?有关代码示例,请参见答案。

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


【解决方案1】:

感谢@Rob 帮助我解决这个问题...如果其他人遇到此问题,只需在以前的版本3.37.0 上对其进行测试即可解决问题(我使用的是3.38.0)。但是,3.37.0 有在here 中提到的问题,即在您已经查看选项卡时点击它不会弹回默认场景。看来,通过尝试在版本 3.38.0 中解决该问题,它导致了我发布的上述问题。所以我想你现在必须决定哪个是最不令人反感的,但希望他们会在以后的版本中解决这两种情况......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 2020-04-19
    • 1970-01-01
    • 2011-11-30
    • 2023-03-24
    相关资源
    最近更新 更多