React Navigation删除先前的路线并转到先前的两倍?

时间:2020-10-27 15:52:27

标签: reactjs react-native react-navigation

我有两个屏幕

----settingsScreen
   ----ActivationScreen
       -----WelcomeScreen

因此,在该用户中,首先要进入设置屏幕,然后他们将进入“激活”屏幕。

在此欢迎屏幕中,我有一个按钮“激活”,当用户单击此按钮时,我需要导航到WelcomeScreen,但是当用户尝试返回时,应转到settingScreen而不是ActivationScreen-如何实现?

I tried this:
                   const resetAction = StackActions.reset({
                            index: 0,
                                actions: [NavigationActions.navigate({ routeName: 'SettingScreen'})],
                            });
                     this.props.navigation.dispatch(resetAction);

但是,当我在欢迎屏幕上按回去时,它将重置整个堆栈并退出应用程序!

请帮助,并正在使用React Navigation 4

1 个答案:

答案 0 :(得分:0)

尝试以这种方式导航将把您导航到SettingsScreen。如果屏幕不在堆栈中,它将推入堆栈;如果屏幕已经在堆栈中,则它将导航至该屏幕

this.props.navigation.navigate('SettingsScreen');