我正在尝试应用mapDispatchToProps而不是Dispatch操作, 但是我收到一个错误消息,有人帮忙吗? Thabkyou
Connect(ButtonGroup)中的mapDispatchToProps()必须返回一个普通对象。而是收到未定义的消息。
动作创建者
function clickDisable() {
return {
type: 'CLICK_DISABLE'
}
}
组件
var ButtonGroup = React.createClass({
clickAdd(event) {
this.props.dispatch(clickAdd());
} ,
clickSub(event) {
this.props.dispatch(clickSub());
} ,
/*clickDisable(event) {
this.props.dispatch(clickDisable());
} ,*/
render() {
const { age } = this.props;
return (
<ButtonToolbar style={{width: 17+ 'em'}} >
<Button id="search" style={{width: 5 + 'em'}}>{age}</Button>
<Button onClick={this.clickAdd} style={{width: 5 + 'em'}}>Createa</Button>
<Button onClick={this.props.clickDisable} style={{width: 5 + 'em'}}>Detele</Button>
</ButtonToolbar>
);
}
});
mapDispatchToProps
function mapDispatchToProps (dispatch) {
return Redux.bindActionCreators({
clickDisable: clickDisable
}, dispatch);
}
function mapStateToProps(state) {
return {
age: state.reducreForAge.age
}
}
连接
const NewButtonGroup = connect(mapStateToProps,mapDispatchToProps)(ButtonGroup);
答案 0 :(得分:0)
在mapDispatchToProps中使用它。其他一切看起来都很好。
const mapDispatchToProps = dispatch => { return{
clickDisable: () => dispatch({type:'CLICK_DISABLE'})};};