После успешного входа в систему у меня есть кнопка выхода из системы в app.js, на которую я нажимаю и должен перенаправить на страницу входа.У меня нет никакого маршрута для выхода из системы index.js. Нам это нужно?
Я написал сагу только то, что работает нормально, единственная проблема в том, что он не перенаправляет к / входу из саги.Это правильная практика.Он никогда не перенаправляет по любому из следующих маршрутов:
app.js
logoutAction = () => {
this.props.doLogoutAction();
this.props.history.push('/sign') //I'venow implemented this and not routing via saga.-------------1>Please read updated
}
<button onClick = {this.handleLogot.bind(this)}> </button>
reducer.js
const initialState = {
username: "",
isLoggedIn: false
};
case LOGIN_SUCCESS:
return { ...state,
isLoggedIn: true,
payload: action.payload.isLoggedIn
};
case LOGIN_FAILED:
return { ...state,
isLoggedIn: false,
payload: ''
};
case LOGOUT_SUCCESS:
return { ...state,
isLoggedIn: false,
payload: ''
};
default:
return state;
saga.js
** // здесь я помещаю действие успешного выхода из системы для отправки **
yield put({
type: LOGOUT_SUCCESS,
payload: false
})
// history.push('/signIn')
//yield put(push('/signIn'))
//yield call(push,'/signIn')
this.props.history.push('/signIn')
только над двумя строками - сага
Я пробовал все это, но тогда это не работает.Может кто-нибудь, пожалуйста, дай мне знать, где я иду не так.Есть ли какое-то другое решение, которое мы можем реализовать?Кто-нибудь работал над выходом из системы / входом в ваши проекты?
Update-1
после того, как я помещаю историю, нажимаю на выход, он работает, я удалил из саги, это работает, но из-за редуктора это перенаправляетв app.js.Как и в редукторе, isLoggedIn не обновляется, куда отправляется идентификатор успешного входа в действие.Кажется, я делаю что-то не так.Пожалуйста, дайте мне знать, где я могу пойти не так.
Update-2 Теперь редуктор работает для выхода из системы. Я могу выйти из системы. Но теперь есть проблема: я не могу войти в систему как только действие.не вызывается
LoginAction.js
return{
type:LOGIN_ACTION,
payload:params
}