Redux: Запрос функции: autocurry bindActionCreators

Созданный на 22 февр. 2017  ·  3Комментарии  ·  Источник: reduxjs/redux

Типичный вариант использования bindActionCreators (по крайней мере, с React) выглядит следующим образом:

const mapDispatchToProps = (dispatch) => bindActionCreators({
    myActionCreator,
    anotherActionCreator
}, dispatch);

Если функция была автоматически каррирована (может быть вызвана с двумя аргументами, но вернет функцию, если вызывается только с одним аргументом), это можно упростить до:

const mapDispatchToProps = bindActionCreators({
    myActionCreator,
    anotherActionCreator
});

Плюсы

  • Более простой синтаксис вызова.
  • Интуитивное поведение для тех, кто знаком с каррированием.

Минусы

  • Немного "волшебный" ("Откуда dispatch ?? !!")
  • Несколько способов написать одно и то же.
  • Возможно, сложно / запутанно документировать.
  • Неинтуитивно / запутанно для тех, кто не знаком с каррированием.

Если это стоит изучить, я был бы рад открыть запрос на перенос, чтобы мы могли увидеть, как будет выглядеть реальная реализация.

Все 3 Комментарий

Да, давай сделаем пиар и обсудим это с реальным кодом.

Учитывая, что у нас уже есть сокращенное обозначение объекта для connect , я не уверен, что вижу здесь точный вариант использования.

@markerikson Хорошее замечание.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги