在redux功能中添加其他功能?

时间:2019-03-10 10:36:43

标签: javascript reactjs redux

我正在学习使用redux。我已经了解了动作的概念,它浮现在我身上。

我使用redux-saga,并向我的api请求。我想这样做,以便无论我的请求(令牌jwt)返回什么,它都保存到localStorage中。

export function* login() {
  // Select username from store

  const login = yield select(makeIdSelector());
  const password = yield select(makePasswordSelector());
  const requestURL = `/api/users/login`;

  try {
    // Call our request helper (see 'utils/request')
    const response = yield call(request, requestURL, {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        login,
        password,
      }),
    });

    response.success
      ? (yield put(successPasswordAction()), yield put(successLoginAction()))
      : yield put(
        errorPasswordAction(<FormattedMessage {...messages.passwordError} />),
      );
  } catch (err) {
    yield put(errorIdAction(<FormattedMessage {...messages.serverError} />));
  }
}

我应该在哪里写呢?我的想法告诉我,在successLoginAction()中,但是只有:

export function successLoginAction() {
  return {
    type: LOGIN_SUCCESSFUL,
  };
}

而我的减速机仅更改商店状态。

0 个答案:

没有答案