使用 React 导航进行左右导航



对于我的生活,我无法弄清楚这一点;我有一个 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},
})

只是没有将所有场景加载到堆栈上吗?

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

更进一步,您的请求很常见,在这个堆栈溢出问题中,您可以找到您正在寻找的答案:从左到右的窗口动画与反应导航?

使用@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);

最新更新