Как узнать название текущего маршрута в реагирующей навигации? - PullRequest
0 голосов
/ 29 октября 2018

Мне нужно имя текущего маршрута или экрана в реагирующей навигации, которое я хочу использовать внутри условия, чтобы внести некоторые изменения.

Ответы [ 3 ]

0 голосов
/ 19 января 2019

Вы можете поймать его как следующий код:

this.props.navigation.state.routeName
0 голосов
/ 16 апреля 2019

Если вы используете вложенные навигаторы, вы можете использовать этот код для получения текущего состояния активного экрана

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.

0 голосов
/ 17 декабря 2018

При использовании "react-navigation": "^3.0.8" и DrawerNavigator к нему можно получить доступ из объекта this.props, используя this.props.activeItemKey

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...