如果写mapDispatchToProps,相当于把这个handleSidebar注册到props,可以直接使用this.props.handleSidebar;
如果不写,只能自己手动调用this.props.dispatch(xxxx)。 此时dispatch应该是通过connect传递进来的。如果写了mapDispatchToProps,可能就不会有这个了。
写法上有两种
// 传Object进去,自动绑dispatch,相当于
const mapDispatchToProps = (dispatch) => ({
handleSidebar: bindActionCreators((className) => ({
type: 'frame/expandContainer',
payload: className,
}), dispatch)
});
const mapDispatchToProps = {
handleSidebar: (className) => ({
type: 'frame/expandContainer',
payload: className,
})
};