我有一个关于传递参数给React点击处理程序的问题。我有以下代码,但是由于某种原因,没有将节点参数传递给切换函数。不是吗?之所以这样定义,是因为它是一个递归组件。
var Element = React.createClass({
toggle: function(e,node){
},
render: function(){
var nodes = this.props.children.map(function(n){
return <Element node={n} text={n.text} children={n.children} />
});
return (
<span onClick={this.toggle.bind(this,this.props.node)}>{this.props.text}</span>
);
}
});
发布于 2015-03-22 05:49:28
从左开始的Function.prototype.bind
绑定参数。接收节点参数的正确方法是在参数列表的最左侧位置查找它:
toggle: function(node, event) {
console.log('node', node);
console.log('event', event);
}
有关示例,请参阅http://jsfiddle.net/8xxfgce7/。
https://stackoverflow.com/questions/29188326
复制相似问题