reactjs 如何在react-native中清除导航历史记录

ippsafx7  于 2023-02-18  发布在  React
关注(0)|答案(4)|浏览(228)

我在我的react-native应用中创建了登录/注册页面...我希望阻止用户在成功登录后返回该页面
在nativescript中,我通过在导航时设置clearHistory: true来实现这一点。如何在react-native中实现这一点
我的导航代码是this.props.navigation.navigate('home screen', { email: email}
谢谢

dtcbnfnu

dtcbnfnu1#

如果您使用的是react-navigation,则有一个popToTop方法。该方法应清除您的导航堆栈。如果'home screen'不是您应用的第一个屏幕,您可以稍后使用navigate

this.props.navigation.popToTop();
this.props.navigation.navigate('home screen', { email: email};
y1aodyip

y1aodyip2#

这起作用了
navigation.replace('homescreen', {email : email})

s5a0g9ez

s5a0g9ez3#

Inreact导航版本6

import { useNavigation, CommonActions } from '@react-navigation/native';

    CommonActions.reset({
         index: 1,
         routes: [{ name: 'name of the screen that you wanna be in' }],       
    })
wb1gzix0

wb1gzix04#

这对我很有效。

navigation.dispatch(
  CommonActions.reset({
    index: 0,
    routes: [{ name: 'Home' }],
  })
);

相关问题