Реакция на избыточную навигацию не является ошибкой функции - PullRequest
0 голосов
/ 03 мая 2018

Я получаю сообщение об ошибке в своем приложении «реактивный нативный» с использованием реактивной нативации, у меня есть многоступенчатая страница регистрации, которая перенаправляется после завершения первого этапа.

Перенаправление успешно, но отображается следующая ошибка.

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;
};

Если я нажимаю кнопку «Назад», приложение вылетает, и я получаю следующую ошибку экран enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...