gpt4 book ai didi

react-native - React native 'this' 引用 dedicatedWorkerGlobalScope 而不是类实例

转载 作者:行者123 更新时间:2023-12-02 01:21:48 25 4
gpt4 key购买 nike

我有一个组件,我想使用 panResponder 捕获手势事件,但是在尝试远程调试(在 chome 内)时,“this”上下文引用 DedicatedWorkerGlobalScope 的实例而不是类实例。

假设我有一个简单的组件

import React, { Component } from 'react';

import {
View,
Text
PanResponder
} from 'react-native';


class MyC extends Component
{
constructor(props)
{
super(props);
this.panResponder = PanResponder.create({

onStartShouldSetPanResponder : () => true,
onMoveShouldSetPanResponder : () => true,
onPanResponderGrant : this.panResponderGranted ,
})
}

panResponderGranted = (e, gestureState) => {

this.setState({offset : gestureState.dx}); //this.setState is undefined
}

render(){

return (<View />)
}

}

现在每当我单步执行 panResponderGranted 函数并查看第一级闭包时,我可以看到有一个名为 _this 的变量正确引用了类的实例。我调试错了吗?这是预期的行为还是错误?

最佳答案

您需要绑定(bind)panResponderGranted,因为ES6 不会自动绑定(bind)函数。

onPanResponderGrant : this.panResponderGranted.bind(this),

关于react-native - React native 'this' 引用 dedicatedWorkerGlobalScope 而不是类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39691837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com