首页 > 解决方案 > React Navigation V5 + Redux Saga:我如何从 Saga 中导航?

问题描述

问题:

React Navigation V5 + Redux Saga:我如何从 Saga 中导航?我试过使用CommonActions.navigate(),但这不起作用。我在这里错过了什么吗?

我想做所有的 saga 导航,以防 saga 出现问题,用户没有导航到屏幕。

React Navigation V5 文档:CommonActions

Saga.js(不工作):

// React Navigation: Sign Up
yield CommonActions.navigate('Sign Up');

Saga.js(也不起作用):

// React Navigation: Sign Up
yield CommonActions.navigate({ name: 'Sign Up' });

AuthNavigator.js

// Auth Navigator
export const AuthNavigator = () => {
  return (
    <AuthStack.Navigator initialRouteName="Login">
      <AuthStack.Screen
        name="Login"
        component={Login}
        options={{
          headerShown: false,
        }}
      />

      <AuthStack.Screen
        name="Sign Up"
        component={SignUp}
        options={{
          headerShown: false,
        }}
      />

      <AuthStack.Screen
        name="Sign Up Confirm"
        component={SignUpConfirm}
        options={{
          headerShown: false,
        }}
      />

      <AuthStack.Screen
        name="Forgot Password"
        component={ForgotPassword}
        options={{
          headerShown: true,
          title: '',
        }}
      />

      <AuthStack.Screen
        name="Terms & Conditions"
        component={TermsAndConditions}
        options={{
          headerShown: false,
        }}
      />
    </AuthStack.Navigator>
  );
};

标签: react-nativereduxreact-navigationredux-sagareact-navigation-v5

解决方案


您可以使用 saga 中的 react-native Navigation-Service。

https://reactnavigation.org/docs/navigating-without-navigation-prop/


推荐阅读