我在javascript中有点弱。 我鼓励自己从this回答在REACT中将一个函数从父母传给孩子,我有点困难。
有人可以帮我纠正我的代码吗? 谢谢!
var List = React.createClass({
deleting: function(test){
console.log(test);
},
render: function() {
var all = this.props.activities;
var test = List.deleting;
var list = all.map(function(a){
return (<ListItem act={a} del={test}>);
});
return (
<ul> {list}
</ul>
);
}
});
var ListItem = React.createClass({
deleting: function(e){
this.props.del(e.target.parentNode.firstChild.innerHTML);
},
render: function(){
return (
<li key={this.props.act}>{this.props.act}
<div onClick={this.deleting}>X</div>
</li>
);
}
});
我得到的错误:
答案 0 :(得分:4)
您需要传递对作为.deleting
对象一部分的方法List
的引用,现在您正在尝试传递test = List.deleting;
undefined
。要this
.map
引用List
,您应该自己为this
设置.map
- 这样做就是通过(在我们的例子中)应为this
,因为渲染方法中的this
引用List
第二个参数.map
,并传递给del=
属性引用方法this.deleting
。
同时为key
和React
all tags must be closed设置ListItem
属性 - 因此添加/>
(现在您收到错误,因为您尚未关闭标记{{ 1 {} )在ListItem
代码
ListItem