首页 > 解决方案 > 导航时清除堆栈

问题描述

在 react-navigation v4 上,我能够使用以下代码清除堆栈导航,其中导航到堆栈导航器中的屏幕:

this.props.navigation.dispatch(StackActions.reset({
    index: 0,
    actions: [
        NavigationActions.navigate({ routeName: 'ConfirmRegistration' })
    ]
}))

我正在将项目迁移到 react-navigation v5,在尝试了几个代码之后,我无法重现相同的行为。我还尝试使用以下代码清除所需屏幕内的导航,但没有成功(无限循环):

this.props.navigation.reset({
    index: 0,
    routes: [
        {
            name: 'SignedOut',
            state: {
                routes: [{
                    name: 'SignUp',
                    state: {
                        routes: [{
                            name: 'ConfirmRegistration'
                        }]
                    }
                }]
            }
        }
    ]
});

一些帮助将不胜感激,特别是因为开关导航器已被删除。

标签: react-navigation-v5

解决方案


我想我刚刚找到了。似乎调用navigate('SignUp', {screen: 'ConfirmRegistration'})确实有效。


推荐阅读