function mapStateToProps(state) {
return { todos: state.todos }
}
function mapDispatchToProps(dispatch) {
return { actions: bindActionCreators(actionCreators, dispatch) }
}
export default connect(mapStateToProps, mapDispatchToProps)(TodoApp)
为什么我会使用mapDispatchToProps和bindActionCreators作为第二道具
export default connect(mapStateToProps, { getSthAction })(TodoApp)
这种方式也有效吗?有什么不同吗?
答案 0 :(得分:1)
这些示例中唯一的区别是,您的mapDispatch
函数会产生this.props.actions.someAction()
而不是this.props.someAction()
,因为您明确返回{{1}的结果}作为一个名为bindActionCreators
的字段。
我个人建议总是使用"对象简写"版本 - 对我而言,永远是实际编写单独的actions
函数的理由。