我有这样的功能:如何避免React组件自动绑定'this'?
obj = {
func: function() {
console.log(this);
}
}
它被传递反应成分为道具:
React.createElement(Component, {
funcAsProp: obj.func
}
然后调用在一个反应成分是这样的:
let Component = React.createClass({
displayName: 'Component',
clickHandler: function() {
this.props.funcAsProp();
},
render: function() {
return React.createElement('div', {
onClick: this.clickHandler
});
}
});
当像这样调用obj.func这是组件。我仍然对Javascript'this'和React自动绑定感到困惑。上下文绑定到由React obj.func还是这是一些基本的Javascript的东西,我不明白吗?
如果是关于自动绑定,我该如何在不绑定的情况下调用该函数?
这是错误的,如果你这样做,这个上下文将不是'obj',例如,如果你在浏览器中的全局范围内,它将是'window' – Maxx
第一个建议设置'undefined'。我可以将它绑定到窗口或其他对象,但不能自己。 –