2017-01-13 11 views
0

これは親コードであり、全体が完全にレンダリングされ、小道具のoncheckselectionも子によって完全に呼び出されましたが、私の反応にデータを渡すことはできませんコンポーネントメソッドgetchilddataは私に未定義のプロパティやその他のエラーを与えません。defaultProps関数はコンポーネントクラス(親子コミニュケーション)からのメソッドを受け付けません

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 
}; 

子関数が呼び出されました。私は、親コードoncheckSelectionを編集するときに、コンソールでデータを印刷することができます。

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

答えて

0

私はこのは(この .getchilddataを)あなたはそれを参照してくださいしたいと別の何かに参照のうえいると思います。クラスiteself、のようなものの内部で関数onCheckSelectionを移動について何

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

こんにちはサイード、 oncheckSelectionが小道具では、クラスの機能を機能しません。 props.onCheckSelection(value)は子によって呼び出され、これをクラス内の親関数にバインドし、この小道具関数のパラメータ値にアクセスしたい –

関連する問題