Я использую объект истории (передаваемый из компонента в редуктор), предоставленный реакцией в моем редукторе, для условного перенаправления на другие страницы при обновлении состояния.Я знал, что это не то, как навигация должна быть обработана.Но он все еще работает, это асинхронный вызов функции 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;
}
}