我什至不知道问题出在哪里,我唯一能想到的是由于使用.map()
this
在翻译中迷路了。我在总体上一直希望下面的内容能起作用,直到我开始尝试添加onClick
为止,这给了我这篇文章主题中的错误。我需要一双眼睛看看,并告诉我我在哪里出错了。
var myApp = React.createClass({
mixins: [Backbone.React.Component.mixin],
_myPrivateFunction: function (objId) {
console.log(objId);
},
render: function () {
return (<ul className="list-group">
{this.state.collection.map(function (system) {
return (<li className="list-group-item" onClick={this._myPrivateFunction.bind(this, system.objId)}>{system.objName}</li>);
})}
</ul>);
}
});
最佳答案
尝试
var myApp = React.createClass({
mixins: [Backbone.React.Component.mixin],
_myPrivateFunction: function (objId) {
console.log(objId);
},
render: function () {
var that = this;
return (<ul className="list-group">
{this.state.collection.map(function (system) {
return (<li className="list-group-item" onClick={that._myPrivateFunction.bind(that, system.objId)}>{system.objName}</li>);
})}
</ul>);
}
});
this
的范围可能正在该函数/事件内部更改。关于javascript - 未捕获的TypeError:无法读取未定义的属性'_myPrivateFunction',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32616192/