首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react-native-router-flux中更改root?

如何在react-native-router-flux中更改root?
EN

Stack Overflow用户
提问于 2018-04-07 20:29:13
回答 1查看 694关注 0票数 1

我正在使用react-native- Router -flux v4,这是我的路由器组件:

代码语言:javascript
复制
const RouterComponent = () => {
  return (
    <Router>
      <Scene key="root">
        <stack key="auth">
          <Scene
            key="login"
            component={LoginForm}
            title="Please Login"
          />
        </stack>
        <stack key="main">
          <Scene
            key="RestaurantListing"
            component={RestaurantListing}
            title="Restaurants available"
          />
        </stack>
      </Scene>
    </Router>
  )
};

当我转到main时,我看到了"RestaurantListing“组件,但我仍然在顶部导航中看到了向后箭头(<-)。

我不希望用户能够返回到身份验证页面,我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-04 19:45:46

应该首先将hideNavBar作为道具添加到场景RestaurantListing中,或者,如果没有main的子级要使用导航栏,也可以将其添加到main中。您还需要从'react-native-router-flux‘导入ActionConst,并将main的类型prop设置为ActionConst.RESET,这将重置堆栈,从而从后台堆栈中删除身份验证页面。

代码语言:javascript
复制
import { Scene, Router, ActionConst } from 'react-native-router-flux';

const RouterComponent = () => {
  return (
    <Router>
      <Scene key="root">
        <stack key="auth">
          <Scene
            key="login"
            component={LoginForm}
            title="Please Login"
          />
        </stack>
        <stack key="main" type={ActionConst.RESET}>
          <Scene
            key="RestaurantListing"
            component={RestaurantListing}
            title="Restaurants available"                
            hideNavBar
          />
        </stack>
      </Scene>
    </Router>
  )
};

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49707399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档