connect如何获取mapStateToProps和mapDispatchToProps以创建更高阶的组件?

时间:2018-11-19 08:31:54

标签: redux react-redux

我一直在尝试找出有关redux的两件事

  1. mapDispatchToProps是一个以dispatch作为参数的函数,dispatch在哪里定义?和
  2. connect如何利用mapStateToPropsmapDispatchToProps创建HOC(高阶分量)?

如果我正确理解,connect本质上是一个组合函数,它接收mapDispatchToProps的结果并将其传递给mapStateToProps,然后返回结果,它是一个组件,但是如何完成? / p>

谢谢您的时间!

1 个答案:

答案 0 :(得分:0)

  1. mapDispatchToProps是您将定义的函数。 React-Redux使用传入的dispatch作为第一个参数来调用您的函数。而dispatch则来自您提供给store的{​​{1}}。

  2. <Provider />采用您将定义的connectmapState,并创建包装器函数,在最常见的情况下:

      每次商店更改时,
    • 使用mapDispatchmapState一起运行
    • 实例化组件后,运行一次state

    这两个函数的返回值将合并到包装的组件中。

您似乎想弄清楚它是如何完成的。 This Dan Abramov's gist以一种心理模态(其行为的简化版本)解释了mapDispatch

希望有帮助!