我实际上试图在我的应用程序中实现redux-saga。为了在开始时保持简单,我首先尝试将saga添加到我的登录组件中。
但是我正在努力添加一个if语句,该语句将UI重定向到一个页面,如果我的登录操作loginSuccess()
被调度。我想实现如下注释语句:
const onSubmitForm = (e?: React.FormEvent<HTMLFormElement>) => {
if (e) {
e.preventDefault();
}
dispatch(actions.submitLogin());
// if (actions.loginSuccess() && !actions.loginError) {
// history.push('/');
// }
};
如何传递动作:
// After the API was fetched:
if (response.message === 'login') {
yield put(actions.loginSuccess());
} else {
yield put(actions.loginError('Username or password is incorrect'));
}
您将处理" loginsuccess ";操作来更改状态,或者可能通过另一个saga侦听loginSuccess操作,以便在用户登录时执行各种其他操作。例如,获取用户数据,重定向位置等。