如何将数据从子节点传递给父节点?

时间:2016-03-15 11:12:29

标签: javascript reactjs

我有一种情况,我希望从子项中增加父值。

家长:

getInitialState :function(){
    return {counter:0}
},

render(){
    <CallChild value={this.state.counter}/>

子组件:        render(){ this.props.counter++;} 有什么建议?甚至可以做这样的事情。

1 个答案:

答案 0 :(得分:5)

您可以在父组件中创建方法(将更改父状态),并在像这样的子项中调用它

var CallChild = React.createClass({
  render(){
    return <div>
      <h1>{ this.props.value }</h1>
      <button onClick={ this.props.onClick }>+</button>
    </div>
  }
});

var Parent = React.createClass({
  getInitialState: function() {
    return { counter: 0 }
  },

  handleIncrement: function () {
    this.setState({ counter: this.state.counter + 1 });
  },

  render(){
    return <div>
      <CallChild onClick={ this.handleIncrement } value={this.state.counter} />
    </div>
  }
});

Example