React / Redux: можно ли получить доступ к полезной нагрузке действия в mapDispatchToProps? - PullRequest
0 голосов
/ 18 января 2019

У меня есть функция mapDispatchToProps для компонента MediaUpload. При добавлении файла запускается обработчик onChange. Обработчик отправляет два действия: сначала он создает новые медиа-записи для файлов и возвращает массив медиа-объектов. Затем он обновляет данные формы в состоянии с помощью массива идентификаторов медиа.

У меня вопрос: можно ли читать данные действия в этой позиции или лучше сначала записать в состояние через редуктор?

const mapDispatchToProps = (dispatch, { form, name, multiple }) => ({
  onChange: files => {
  if (isEmpty(files)) return;

  return dispatch(createMedia(files)).then(
    media => {
      // Get created media ids from action payload. Is this correct?
      const mediaIds = media.map(item => item.payload.id);

      return dispatch(updateFormData({
        form,
        fields: [ {
          name: name,
          value: multiple ? mediaIds : mediaIds[0]
        } ]
      }));
    }
  );
}

});

1 Ответ

0 голосов
/ 18 января 2019

Я сопровождающий Redux.Для меня это нормально, если предположить, что createMedia() сам по себе является создателем thunk action, который возвращает обещание.

При этом я также рекомендую переместить определение этой функции в автономный режим и использовать сокращение от объекта"форма mapDispatch, а не форма функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...