如果我们使用调度连接到操作,有两种方法: -
1. this.props.dispatch(requestEmployees());
2. const mapDispatchToProps = (dispatch) => ({
requestEmployees: () => dispatch(requestEmployees())
});
如果我们在bindActionCreators的帮助下做同样的话,那么我们的 代码我们将: -
function matchDispatchToProps(dispatch) {
return bindActionCreators({ editLabResult: requestEmployees}, dispatch);
}
现在我的问题是,我应该使用发送或 的 bindActionCreators ?他们之间有什么区别?
答案 0 :(得分:31)
实际上它是一回事。
的结果bindActionCreators({ editLabResult: requestEmployees}, dispatch);
是您手动创建的内容:
requestEmployees: () => dispatch(requestEmployees())
根据redux bindActionCreators
文档:
将值为动作创建者的对象转换为对象 相同的键,但每个动作创建者都包含在发送中 打电话让他们可以直接调用。
bindActionCreators({ editLabResult: requestEmployees, anotherAction, etc... }, dispatch);
您可以将对象传递给connect
方法,而不是使用bindActionCreators
,它会为您执行换行:
connect(mapStateToProps, { editLabResult: requestEmployees, anotherAction, etc... })