bindActionCreators是Redux提供的一个工具函数,它使用store的dispatch方法把参数对象中包含的每一个action creator包裹起来,这样就不需要显示的使用dispatch方法发送action了,而是直接调用action creator,列如,不使用bindActionCreators时,有一个下面的mapDispatchToProps:
const mapDispatchToProps=(dispatch)=>{
return{
someActionCreators:someActionCreator
}
}
在组件中对应的调用形式为
this.props.dispatch(this.props.someActionCreators)
mapDispatchToProps使用bindActionCreators后
const mapDispatchToProps=(dispatch)=>{
return{
someActionCreators:bindActionCreators(someActionCreator,dispatch)
}
}
在组件中对应的调用形式为
this.props.someActionCreators();
注:bindActionCreators的第一个参数是一个函数或者是一个普通的对象,如果是函数就需要返回一个action creator;如果是普通的对象类型,对象的每一个属性就是一个action creator。