bindActionCreators作用
个人总结:讲一下bindActionCreators这个API, ? bindActionCreators是要结合mapDispatchToProps来使用的。 mapDispatchToProps函数接收一个函数,这个函数返回一个对象,对象中键是action的名字,值是进行dispatch处理的函数 例: mapDispatchToProps((dispatch)=>{ return { action:(data) => dispatch( { type:‘add‘,payload:data } ) ? ? ? /* ? ? ? ? ? ? ? ? ? ? ? ? 通常情况下都用actioncreator来生成action,所以通常是下面的写法: ? ? ? ? ? ? ? ? ? ? ? ? ?action:(data) => dispatch( actioncreator(data) )?? ? ? ? ? ? ? ?*/ ? ? ? ? ? ? ? ?} }) ? 由于通常的写法下action都是由actioncreator来生成的,既然所有的都有这样的操作,不如弄个函数来封装一下 于是就有了bindActionCreators,写法变成了这样: mapDispatchToProps =((dispatch)=>{ ? ? ? return { ? ? ?action:bindActionCreators({ ? ? ? ? ? ? ? ? ? ? ? ? ?action1:actionCreator1, ? ? action2:actionCreator2? //这样写的花就不涉及dispatch等操作的明文编写了 ? ? ? ? ? ? ? ? ? ? ? }) ? ? ? ?} } ? 进行了mapDispatchToProps操作之后,就可以在props中调用方法了 this.props.action1() this.props.action2() 就可以直接使用这些方法了。 ? ? ? ========================================================================================================================== 原文转载自网络:问题描述
问题解决A1:和以前的写法对比:
connect((state)=> ({order: state.order})),dispatch) //this.props.actions.action1()
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |