defaultProps 函数不接受来自组件类(父子通信)的方法



这是父代码,整个事情完美呈现,甚至 props 函数 oncheckselect 也被孩子完美调用,但我无法将数据传递给我的反应组件方法 getchilddata 给我未定义的没有属性或其他一些错误。

class Supertest extends React.Component {
    constructor(props) {
        super(props);
        this.state = {selected : []};
    }
    componentWillReceiveProps(Nextprops) {
      console.log(Nextprops.onCheckSelection)
    }
    getchilddata(value) {
      alert('yolo')
    }
    render() {
        return (<div>
          <div>{SimpleTable(this.props)}</div>
          </div>);
    }
}
Supertest.propTypes = {
    headers: React.PropTypes.instanceOf(Immutable.List),
    descriptors: React.PropTypes.instanceOf(Immutable.List),
    data: React.PropTypes.instanceOf(Immutable.List),
    rowTransform: React.PropTypes.func,
    rowSelected: React.PropTypes.func,
    headerSelected: React.PropTypes.func,
    selectable: React.PropTypes.bool,
    onCheckSelection: React.PropTypes.func,
    prescanRows: React.PropTypes.bool
};
Supertest.defaultProps = {
    headers: List(headers),
    descriptors: List(descriptors),
    data: List(data),
    rowTransform: (() => List()),
    rowSelected: ((dataItem) => {}),
    headerSelected: ((header) => {}),
    onCheckSelection : ((items) => {this.getchilddata}),
    selectable: true,
    prescanRows: true
};

已调用的子函数。当我在检查选择上编辑父代码时,我可以在控制台中打印数据。

    var checkSelection = function (value) {
        props.onCheckSelection(value)
}

我认为指的是您希望它引用的不同内容(this.getchilddata)。

在类 iteself 中移动函数 onCheckSelect 怎么样,如下所示:

    onCheckSelection(value){
        this.getchilddata(value);
        if(this.props.getchilddata){
            this.props.getchilddata(value);
        }
    }

最新更新