如何重置expo路由器中的导航

问题描述 投票:0回答:2

我有 3 个忘记密码的屏幕。忘记密码屏幕从登录页面开始。因此,成功重置密码后,我需要用户转到登录页面。但用户在使用时仍然可以从登录页面返回到忘记密码的最后一个屏幕

router.push()
如何使用expo路由器重置堆栈导航

react-native expo expo-router
2个回答
3
投票
import { useNavigation } from 'expo-router';
const ForgotPasswordScreeen = () => {
    const navigation = useNavigation()

    const onResetPassword = () => {
        resetPassword() // your logic to reset the password.
        //This will reset your stack back to login screen
        navigation.reset({
            index: 0,
            routes: [{ name: 'login' }], // your stack screen name
        });
    }

    return (
        <JSX />
    )
}

检查链接。 Expo-router 是react-navigation 的包装器。我假设你可以用 expo-router 做所有你能做的事情。

https://docs.expo.dev/router/reference/hooks/#usenavigation

https://reactnavigation.org/docs/navigation-prop#reset


0
投票

使用 router.replace() 这将从导航中删除以前的堆栈,并且您将无法返回。

© www.soinside.com 2019 - 2024. All rights reserved.