如何在react-navigation中获取当前路由名称?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在react-navigation中获取当前路由名称?相关的知识,希望对你有一定的参考价值。
如果条件做出一些改变,我想要反应导航中当前路线或屏幕的名称,我想在里面使用它。
答案
您可以按以下代码捕获它:
this.props.navigation.state.routeName
另一答案
使用"react-navigation": "^3.0.8"
和DrawerNavigator时,可以使用this.props.activeItemKey
从this.props对象访问它
另一答案
如果使用嵌套导航器,则可以使用此代码获取当前活动屏幕的状态
const getActiveRouteState = function (route: NavigationState): NavigationState {
if (!route.routes || route.routes.length === 0 || route.index >= route.routes.length) {
return route;
}
const childActiveRoute = route.routes[route.index] as NavigationState;
return getActiveRouteState(childActiveRoute);
}
用法:
const activeRoute = getActiveRouteState(this.props.navigation.state);
当我需要从NavigationDrawer获取当前活动屏幕的状态时,我正在使用它。
以上是关于如何在react-navigation中获取当前路由名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何从react-navigation获取主题类型(Typescript)
使用 react-navigation 重构 - 使用分支时如何提升静态导航标题?
如何在打字稿中使用 react-navigation 的 withNavigation?
如何在@react-navigation/bottom-tabs 中添加阴影?