【发布时间】:2016-06-28 07:53:19
【问题描述】:
当我在 onScroll 处理程序中打印 this 时,我得到 DedicatedWorkerGlobalScope 而不是 Constructor。
var Frame = React.createClass({
_handleScroll: (ev) => {
console.log(this) //DedicatedWorkerGlobalScope
},
render: function() {
return (
<ScrollView
ref='scrollViewH'
onScroll={this._handleScroll}>
{items}
</ScrollView>
);
}
});
如果我使用内联函数处理滚动,则此方法正确:
var Frame = React.createClass({
render: function() {
return (
<ScrollView
ref='scrollViewH'
onScroll={(ev) => {
console.log(this) //Constructor
}}>
{items}
</ScrollView>
);
}
});
绑定 this 不起作用。
onScroll={this._handleScroll.bind(this)}
【问题讨论】:
-
我在示例应用程序中得到了正确的行为:rnplay.org/apps/otiPug 尝试隔离事物,其他东西一定会改变上下文。