首页 > 解决方案 > saga() 函数未在重新登录时调用

问题描述

您好我正在尝试创建一个具有身份验证和授权的应用程序。我正在使用 redux saga。现在,当我第一次尝试登录时,会调用这个 saga 函数:

 export function* saga() {
    yield takeLatest(actionTypes.Login, function* loginSaga() {
        yield getUserByToken();
        yield put(actions.requestUser());
      });
}

现在,当我第二次登录时,它不会被调用。我必须刷新我的页面。

有人可以告诉我哪里出错了吗?

以下是动作:

export const actions = {
      login: (authToken) => ({ type: actionTypes.Login, payload: { authToken } }),
      register: (authToken) => ({
        type: actionTypes.Register,
        payload: { authToken },
      }),
      logout: () => ({ type: actionTypes.Logout }),
      requestUser: (user) => ({
        type: actionTypes.UserRequested,
        payload: { user },
      }),
      fulfillUser: (user) => ({ type: actionTypes.UserLoaded, payload: { user } }),
    };

标签: reactjsreduxsaga

解决方案


推荐阅读