history.push () - это асинхронный вызов в реакции? - PullRequest
0 голосов
/ 25 декабря 2018

Я использую объект истории (передаваемый из компонента в редуктор), предоставленный реакцией в моем редукторе, для условного перенаправления на другие страницы при обновлении состояния.Я знал, что это не то, как навигация должна быть обработана.Но он все еще работает, это асинхронный вызов функции history.push (), так как я выполняю его перед возвратом измененного состояния в редуктор.Может кто-нибудь объяснить мне, почему это работает

const reducer = (state = initialState, action) => {
var stateClone = {...state};
switch(action.type)
{
  case 'LogIn':
  var user = state.users.filter((user) => user.userName === action.userName && user.password === action.password );
  if(user.length > 0 )
  {
    var loggedInUser = {...user[0]};
    stateClone.loggedInUser = loggedInUser;
    action.history.push('/products');
    return stateClone;
  }
  else {
    alert('Wrong Credentials');
  }
  return state;
}
}

1 Ответ

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