通过onClick将数据从子组件传递到父组件

时间:2017-02-05 03:55:04

标签: javascript reactjs

我是新手做出反应,目前正在开发反应轨应用程序。

      <h1><img src={activity.image_url}/></h1>
          <p> {activity.name} </p>
          <p> Rating: {activity.rating} </p>
          <p><img src={activity.rating_img_url}/></p>
          <p>{activity.location.display_address.join(" ")}</p>
          <p><a href={activity.url}>Learn More</a></p>
          <input id="add_to" className="btn" type="submit" onClick={props.addto} value="Add to Profile"/>

目前,我正在使用props.data.map((activity) => ...来映射数据。我的问题是,有什么方法可以在点击.name, .rating, .url etc.按钮时以某种方式传递"Add to Profile"(并将其存储到我父组件使用的变量中)?我一直在寻找答案,但由于我缺乏反应经验,我很难找到一个我能理解的答案。

我还在我的顶级组件中放了一个调试器,当我点击按钮时它会点击我的调试器&#34;添加到配置文件

handleAddTo(event) {
    debugger;
    event.preventDefault();
  }

我真的很感激任何帮助!谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

由于您使用的是道具中的<input id="add_to" className="btn" type="submit" onClick={props.addto.bind(this, activity.name, activity.rating, activity.rating_img_url)} value="Add to Profile"/> 函数,我假设它来自正确的父组件,因此您可以做的就是将值绑定到此函数,如

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

答案 1 :(得分:0)

您可以在父母中传递您想要的值,例如

<input id="add_to" className="btn" type="submit" onClick={props.addto(activity.name, activity.rating, activity.rating_img_url)} value="Add to Profile"/>

并使用它

handleAddTo(name, rating, imgUrl) {
 // do something with values
}