Почему избыточный-thunk вместо store.dispatch / store.getState () - PullRequest
1 голос
/ 11 апреля 2020

Я всегда использовал redux-thunk или какое-то промежуточное программное обеспечение, которое дает мне доступ к dispatch/getState, но у меня есть вопрос, который продолжает меня беспокоить. Зачем использовать это, когда мы можем import наш store и вызвать store.dispatch()/store.getState().

Позже отредактировать:

В качестве быстрого примера, вот оригинальный код:

function loadData(userId) {
  return dispatch => fetch(`http://data.com/${userId}`) // Redux Thunk handles these
    .then(res => res.json())
    .then(
      data => dispatch({ type: 'LOAD_DATA_SUCCESS', data }),
      err => dispatch({ type: 'LOAD_DATA_FAILURE', err })
    );
}

По сути, я спрашиваю, почему так плохо переписать это как:

import store from 'our-store';

function loadData(userId) {
  return fetch(`http://data.com/${userId}`)
    .then(res => res.json())
    .then(
      data => store.dispatch({ type: 'LOAD_DATA_SUCCESS', data }),
      err => store.dispatch({ type: 'LOAD_DATA_FAILURE', err })
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...