Почему действия Redux называются действиями, если они на самом деле не выполняют никаких действий (отправка IE)

Почему действия Redux называются действиями, если они на самом деле не воздействуют на данные, а вместо этого просто возвращают полезную нагрузку?

Есть ли какое-либо другое применение для действия, кроме отправки, почему действия не отправляются при вызове?

Это просто способ проверить приложение на будущее для использования с несколькими магазинами?

Это также создает потребность в mapDispatchToProps, который обычно представляет собой полностью шаблонный код для переноса действий с вызовами диспетчеризации.

Это часто можно обобщить с помощью этой функции, которая принимает объект действий и возвращает функцию mapDispatchToProps.

// mapActionsToDispatchProps.js
const mapActionsToDispatchProps = actions => {
  return dispatch => (
    actions.mapEntries(action => (
      (...args) => dispatch(action(...args))
    )
  )
)
export default mapActionsToDispatchProps

Пример Object.mapEntries.

Редактировать

Я вижу, что последнего вопроса о том, что mapDispachToProps в основном шаблонный, можно избежать, передав объект действий напрямую, и соединение сопоставит их для меня.


person Arye Eidelman    schedule 20.08.2019    source источник


Ответы (1)


Обратите внимание, что действие — это просто объект с полем type, а создатель действия — это функция, которая возвращает объект действия.

Это название связано с тем, что Redux изначально является реализацией "Flux Architecture" и < a href="https://facebook.github.io/flux/docs/in-depth-overview#structure-and-data-flow" rel="noreferrer">Flux определяет "действия" как "простые объекты с type поле". Вопрос о том, называть ли их «действиями» или «событиями», активно обсуждался, и было решено продолжать использовать терминологию Flux, поскольку это то, с чем существующие пользователи Flux будут наиболее знакомы.

Сейчас, конечно, никто не помнит, что существовали другие библиотеки Flux, и многие предполагают, что термин «действие» в какой-то момент был придуман командой Redux.

Исторические подробности см. в обсуждениях следующих выпусков Redux:

И да, мы настоятельно рекомендуем людям использовать сокращенная форма объекта mapDispatch.

person markerikson    schedule 20.08.2019