如果条件做出一些改变,我想要反应导航中当前路线或屏幕的名称,我想在里面使用它。
您可以按以下代码捕获它:
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获取当前活动屏幕的状态时,我正在使用它。