反应Redux mapDispatchToProps错误

时间:2018-08-15 04:06:53

标签: reactjs redux

我正在尝试应用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);

1 个答案:

答案 0 :(得分:0)

在mapDispatchToProps中使用它。其他一切看起来都很好。

const mapDispatchToProps = dispatch =>  { return{
clickDisable: () => dispatch({type:'CLICK_DISABLE'})};};