react-native - 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>
);
};
解决方案
您可以使用 saga 中的 react-native Navigation-Service。
https://reactnavigation.org/docs/navigating-without-navigation-prop/