我是React Native的新手,正在尝试类似的事情。
const MainNavigator = createSwitchkNavigator({
Screen1: { screen: Screen1 },
Screen2: { screen: Screen2 },
});
if (some condition ) MainNavigator.navigate('Screen1');
else MainNavigator.navigate('Screen2');
const App = createAppContainer(MainNavigator);
有主意吗?我正在尝试从导航器外部强制导航到一个或另一个屏幕,具体取决于某些条件或最终由于某些用户点击按钮而做出的响应。该代码失败,并显示消息“ MainNavigator.navigate不是函数”。 我以为MainNavigator是通过this.props.navigation从Screen1和Screen2内部访问的同一对象。
我应该采用哪种方法?
最终的想法是,如果已登录,则将用户带到顶层屏幕;如果未登录,则将用户带到身份验证流。
谢谢。
答案 0 :(得分:0)
不确定,但是您可以尝试:
const HomeStack = createStackNavigator(
{ DetailScreen, HomeScreen, OptionsScreen },
{
initialRouteName: condition ? 'HomeScreen': 'DetailScreen',
transitionConfig: dynamicModalTransition
}
);
如果要在屏幕内移动它,可以使用:this.props.navigation.navigate('RouteName')