Переключение между навигаторами с помощью SwitchNavigator (React Navigation) - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть простая настройка навигации. Я хотел бы иметь StackNavigator для моих маршрутов аутентификации и TabNavigator для другого контента.
Я создал оба этих навигатора:

const PreContentNavigator = createStackNavigator({ // Non auth routes
    Landing: {
        screen: Landing
    },
    LogIn: {
        screen: LogIn
    },
    SignUp: {
        screen: SignUp
    }
}, {
    navigationOptions: {
        header: null
    }
});

const ContentNavigator = createBottomTabNavigator({ // Auth routes
    Dashboard: {
        screen: Dashboard
    },
    Library: {
        screen: Library
    },
    Settings: {
        screen: Settings
    }
});

Я связал их оба с SwitchNavigator, потому что это, кажется, рекомендуемый способ сделать это в соответствии с документами. Код для этого выглядит следующим образом:

const MainNavigator = createSwitchNavigator({
    PreContent: {
        screen: PreContentNavigator
    },
    Content: {
        screen: ContentNavigator,
    }
});

Теперь, похоже, это работает, но есть довольно большая проблема. В какой-то момент я хочу перейти от пользователя PreContentNavigator к ContentNavigator. Я попробовал это на моей Landing странице:

const Landing = (props) => {
    return (
        <View style={styles.body}>
            <TouchableHighlight>
                <Text>Nextbook</Text>
            </TouchableHighlight>
            <TouchableHighlight>
                <Text>Log In</Text>
            </TouchableHighlight>
            <TouchableHighlight>
                <Text>Sign Up</Text>
            </TouchableHighlight>
            <TouchableHighlight onPress={() => props.navigation.navigate("Content"/*"LogIn"*/)}> // Using LogIn does work!
                <Text>Skip for now...</Text>
            </TouchableHighlight>
        </View>
    );
};

Проблема в том, что это просто не работает. НО я могу перемещаться от маршрутов внутри моего PreContentNavigator к другим маршрутам в PreContentNavigator (см. Комментарий в коде).
Я чувствую, что пример на официальной странице плагина использует тот же принцип, что и я. Так может ли кто-нибудь указать, где я что-то упускаю?

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