将数据传递给反应

时间:2015-09-17 16:54:22

标签: reactjs

我在子组件的表单上创建了。在使用jquery ajax方法($.ajax)提交该表单后,我正在以json格式重新获取一些数据。我想把这些数据放在我父组件的状态中。那么,react.js中是否有任何方法可以将值或数据从子组件传递到其父组件?

谢谢..

1 个答案:

答案 0 :(得分:11)

在没有某种Flux实现的情况下执行此操作的方法是在父元素上创建一个函数,该函数处理来自子元素的响应/数据并将该函数作为prop传递。然后从孩子那里调用该函数。像这样:

父:

handleResponse(data) {
  console.log(data)
}

render() {
  return(
    <div>
      <Child handleResponse={this.handleResponse} />
    </div>
  );
}

然后在孩子身上:

handleAjax() {
  $.get(url).then( (response) => {
    this.props.handleResponse(response)
  });
}

这都假设是ES6语法。使用ES5,您将不得不使用bindvar that = this来正确定位所有内容。