在React Navigation中获取当前的路由



我想在React Navigator中获取当前Routename的名称。我遇到了三个解决方案:

 1. const { routeName } = navigation.state.routes[navigation.state.index];
 2. this.props.navigation.state.RouteName
 3. const route = navigationState.routes[navigationState.index];

第一个似乎效果很好。对于第二个,我不确定如何使用它。第三个选项(如官方文档中给出(,生成错误 ReferenceError: navigationState is undefined

请帮助我,这是在导航时找到活动屏幕名称的正确方法。

function getActiveRouteName(navigationState) {
  if (!navigationState) {
    return null
  }
  const route = navigationState.routes[navigationState.index]
  if (route.routes) {
    return getActiveRouteName(route)
  }
  return route.routeName
}
// Example Usage
const currentScreen = getActiveRouteName(this.props.router);
if (currentScreen === 'Login') {
   // do something
}

相关内容

  • 没有找到相关文章

最新更新