Я получаю сообщение об ошибке в своем приложении «реактивный нативный» с использованием реактивной нативации, у меня есть многоступенчатая страница регистрации, которая перенаправляется после завершения первого этапа.
Перенаправление успешно, но отображается следующая ошибка.
Possible Unhandled Promise Rejection (id: 0):
TypeError: dispatch is not a function
Я звоню посылке в обещании, как показано ниже:
export const registerUser = ({ email, username, password }) => (dispatch) => {
dispatch({ type: REGISTER_USER_START });
register(email, username, password)
.then(() => {
dispatch({ type: REGISTER_USER_SUCCESS });
dispatch(NavigationActions.navigate({ routeName: 'RegisterDetails' }));
})
.catch((error) => {
console.log('error', error);
dispatch({ type: REGISTER_USER_FAIL })
});
};
Это мои маршруты
const AuthStack = StackNavigator({
RegisterUser: { screen: RegisterUser },
RegisterDetails: { screen: RegisterDetails },
RegisterComplete: { screen: RegisterDetails },
PasswordRecovery: {screen: PasswordRecovery}
});
const AppStack = StackNavigator({
Landing: { screen: Landing }
});
const AppNavigator = SwitchNavigator({
Auth: AuthStack,
App: AppStack
},
{
initialRouteName: 'Auth',
});
export default AppNavigator;
Это мой навигационный редуктор
import AppNavigator from '../routes';
const INITIAL_STATE = AppNavigator.router.getStateForAction('RegisterUser');
export default (state = INITIAL_STATE, action) => {
let nextState;
switch (action.type) {
default:
nextState = AppNavigator.router.getStateForAction(action, state);
break;
}
return nextState || state;
};
Если я нажимаю кнопку «Назад», приложение вылетает, и я получаю следующую ошибку
экран