繁体   English   中英

使用React Navigation进行左右导航

[英]Left and right navigation with React Navigation

对于我的一生,我无法弄清楚。 我有一个React Native应用程序,该应用程序在初始屏幕上进行一些身份验证,然后导航到登录页面。 登陆页面(中间)在左侧和右侧都有一个屏幕。

使用this.props.navigation.navigate('RouteName')导航到右侧是很好的方法。 但是,当我导航到左侧屏幕时,它仍然从右侧滑入。 有什么方法可以覆盖此行为?

 const RootStack = createStackNavigator( { Splash: {screen: Splash, navigationOptions:navConfig}, middleScreen: {screen: Middle, navigationOptions:navConfig}, LeftScreen: {screen: Left, navigationOptions:navConfig}, RightScreen: {screen: Right, navigationOptions:navConfig}, }) 

是否只是不将所有场景都加载到堆栈中?

很抱歉,您对滑动方向动画的直观定义完全错误。 它不是那样工作的,定义路线的顺序与这些路线的动画完全无关。

更进一步,您的请求很常见,并且在这个stackoverflow问题中,您可以找到所需的答案: 从左到右带有反应导航的窗口动画?

根据@Giacomo Cerquone的建议,我解决了我在这里面临的大多数问题。

const resetAction = StackActions.reset({
    index: 1,
    actions: [
    NavigationActions.navigate({ routeName: 'Left'}),
    NavigationActions.navigate({ routeName: 'Middle' }), // Index 1 selects this one
    NavigationActions.navigate({ routeName: 'Right' }),
  ],
});

this.props.navigation.dispatch(resetAction);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM