获取DedicatedWorkerGlobalScope而不是Constructor

Ser*_*nko 12 scrollview react-native

当我在onScroll处理程序中打印它时,我得到 DedicatedWorkerGlobalScope而不是Constructor.

var Frame = React.createClass({
    _handleScroll: (ev) => {
        console.log(this) //DedicatedWorkerGlobalScope
    },
    render: function() {
        return (
            <ScrollView
                ref='scrollViewH'
                onScroll={this._handleScroll}>
                {items}
            </ScrollView>
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

如果我使用内联函数处理滚动,这是正确的:

var Frame = React.createClass({
    render: function() {
        return (
            <ScrollView
                ref='scrollViewH'
                onScroll={(ev) => {
                    console.log(this) //Constructor
                }}>
                {items}
            </ScrollView>
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

绑定不起作用.

onScroll={this._handleScroll.bind(this)}
Run Code Online (Sandbox Code Playgroud)

Ser*_*nko 3

当我以旧方式重写回调声明(没有 ES6 箭头函数)时,它按预期工作。为什么这样?!!!!如果有人知道请给我答案。

var Frame = React.createClass({
    _handleScroll: function(ev) {
        console.log(this); //Constructor
    },
    render: function() {
        return (
            <ScrollView
                ref='scrollViewH'
                onScroll={this._handleScroll}>
                {items}
            </ScrollView>
        );
    }
});
Run Code Online (Sandbox Code Playgroud)