Redux 自制React-Redux

connect负责链接组件,把redux里的数据放到组件属性中

export function connect(){
  //...
}
  1. 负责接受一个组件,把state里的一些数据放进去,返回一个组件

  2. 数据变化的时候,能够通知组件

分析React-Redux中

App = connect(state=>({num:state}),{add,remove})(App)
//state=>() 映射state,map state to props
//{add,remove} 从dispatch,从具体操作函数到属性的映射 ,map dipatch to props

高阶组件写法connect

  • 实现其中的mapStateToProps,mapDispatchToProps参数

//传统写法
export function connect(mapStateToProps,mapDispatchToProps){
  return function (WrapComponent){
    return class ConnectComponent extends React.Component{
    }
  }
}
//采用箭头函数
export const connect = (mapStateToProps=state=>state,mapDispatchToProps={})=>(WrapComponent)=>{
  return class ConnectComponent extends React.Component{
  }
}

Provider把store放到context里,所有的子元素可以直接取到store

自制React-Redux

  • import {bindActionCreators} from './tyrmars-redux.js' 查看自制Redux

最后更新于

这有帮助吗?