Как соединение принимает в mapStateToProps и mapDispatchToProps для создания компонента более высокого порядка? - PullRequest
0 голосов
/ 19 ноября 2018

Я пытался выяснить две вещи относительно редукса

  1. mapDispatchToProps - это функция, которая принимает dispatch в качестве аргумента, где определено dispatch? и
  2. как connect использует mapStateToProps и mapDispatchToProps для создания HOC (компонента высшего порядка)?

Если я правильно понимаю, connect по сути является композиционной функцией, которая принимает результат mapDispatchToProps и передает его mapStateToProps, а затем возвращает результат, который является компонентом, но как это делается?

Спасибо за ваше время!

1 Ответ

0 голосов
/ 20 ноября 2018
  1. mapDispatchToProps - это функция, которую вы определите. React-Redux вызывает вашу функцию с dispatch, переданным в качестве первого параметра. И это dispatch, в свою очередь, исходит от store, который вы предоставили <Provider />.

  2. connect принимает mapState и mapDispatch, которые вы определите, и создает функцию-обертку, которая в наиболее распространенных случаях:

    • запускайте mapState с state каждый раз, когда ваш магазин меняет
    • запустить mapDispatch один раз, когда создается экземпляр компонента

    Возвращения обеих этих функций будут объединены в ваш обернутый компонент.

Кажется, вы хотели бы выяснить, как это делается. Этот смысл Дана Абрамова объясняет connect в ментальной модальности (упрощенная версия того, что он делает).

Надеюсь, это поможет!

...