2 votes

React native 'this' fait référence à dedicatedWorkerGlobalScope au lieu de l'instance de la classe

J'ai un composant pour lequel je veux capturer les événements gestuels à l'aide de panResponder. Cependant, lorsque j'essaie de déboguer à distance (dans Chome), le contexte 'this' fait référence à une instance de DedicatedWorkerGlobalScope au lieu de l'instance de la classe.

Disons que j'ai un composant simple

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 />)
    }

}

Maintenant, lorsque je passe par la fonction panResponderGranted et que je regarde la fermeture de premier niveau, je peux voir qu'il y a une variable nommée _this qui a la référence correcte à l'instance de la classe. Est-ce que je débogue mal ? Est-ce un comportement attendu ou un bogue ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X