react-redux用于连接react组件及redux,方便开发者使用redux
管理状态。其中connect方法是关键,用法如下:
connect([mapStateToProps], [mapDispatchToProps])(component)
看connect使用方法就知道是高阶组件,接收参数为mapStateToProps和mapDispatchToProps俩个方法,返回的函数接收参数是组件,从而返回一个新的组件。
首先connect之所以会成功得原因?
是因为Provider组件,在原应用组件上包裹一层,使原来整个应用成为Provider的子组件
接收Redux的store作为props,通过context对象传递给子孙组件上的connect
那connect做了些什么呢?
它真正连接 Redux 和 React,它包在我们的容器组件的外一层,它接收上面 Provider 提供的 store 里面的 state 和 dispatch,传给一个构造函数,返回一个对象,以属性形式传给我们的容器组件。
概括:react-redux 库提供的一个 API,connect 的作用是让你把组件和store连接起来,产生一个新的组件(connect 是高阶组件)