gpt4 book ai didi

javascript - 将组件方法从回调绑定(bind)到子组件

转载 作者:行者123 更新时间:2023-11-28 00:09:18 24 4
gpt4 key购买 nike

我是 React js 新手,无法在 foreach 循环中将父组件方法传递给子组件。我的代码是

下面是我的App组件。我试图通过循环子组件RecordRow来显示我从表中的api获得的数据。

var APP=
React.createClass({
qwerty: function(name) {
alert("Qwerty");
alert(name);

},
render:function(){ /* table header and border */
//alert("result2:"+this.state.result)
var rows = [];
var data = this.state.result;
if(data){
data.forEach(function(data2,i){
rows.push(<RecordRow data={data2} key={i} fun ={this.qwerty}/>)
});
}
return(
<table className="table table-bordered">
<tr>
<th>ZipCode</th>
<th>ShortCode</th>
<th>City</th>
<th>State</th>
<th>TaxCode</th>
<th>UserId</th>
<th></th>
</tr>
<tbody>
{rows}
</tbody>
</table>
<div className="modal">
.
. //modal popup code
.
</div>
)

}
});

当我单击下面的编辑按钮时,我想将记录行的数据对象发送回我的父组件并在警报中显示它。我如何实现它?

var RecordRow=
React.createClass({
submit:function(){
if(this.props.fun) {
alert("fun")
this.props.fun("Harsha");
}
},
render:function() {
return (

<tr>
<td>{this.props.data.ZipCode}</td>
<td>{this.props.data.ShortCode}</td>
<td>{this.props.data.City}</td>
<td>{this.props.data.State}</td>
<td>{this.props.data.TaxCode}</td>
<td>{this.props.data.UserId}</td>
<td><input type="button" className="btn btn-primary" data-toggle="modal" data-target="#modaling" onClick={this.submit} value ="EDIT"/></td>
</tr>
)
}
});

最佳答案

您的代码中有一些错误:

1. you try to return two different react elements in `App`->`render()`
2. you are using `result` but you don't define a state
3. you didn't bind the context to the callback method, so this.qwerty is undefined

我创建了一个fiddle与固定版本。

关于javascript - 将组件方法从回调绑定(bind)到子组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com