@undefined_title

Насколько правильным считается брать store.getState() в создателях действий?

насколько правильным считается брать store.getState() в создателях действий? так можно делать? это позволит сделать редьюсеры более чистым, больше логики в экшинах оставить, в чем еще могут быть плюсы, и какие могут быть минусы?
пример

export function changePassWithCode(body = {}) {
    body.email = store.getState().authorizationReducer.emailForForgotPass;
    body.validationCode = store.getState().authorizationReducer.ForgotPassValidationCode;
    const
        url     = `${config.apiUrl}/user/myFuckingAPIOnPHP`,
        isRSAA  = true;

    return {type: POST_AUTHORIZATION_CHANGE_FORGOT_PASSWORD, url, isRSAA, body};
}
  • Вопрос задан
  • 443 просмотра
Пригласить эксперта
Ответы на вопрос 1
@eddy-lazar
В целом такой подход не является анти-патерном, зависит от ситуации. Если в проекте используется redux-thunk, тогда удобней это делать напрямую из функции, вторым параметром thunk передает как раз метод getState

export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return (dispatch, getState) => {
    const {items} = getState().otherReducer;
    dispatch(anotherAction(items));
  }
}


И не нужно каждый раз глобально импортировать store.

https://habrahabr.ru/post/330692/ - хорошая статья на тему что хорошо в redux что плохо и так далее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы