Maison > interface Web > js tutoriel > Pourquoi « ceci » n'est-il pas défini dans la fonction de mon composant React et comment puis-je y remédier ?

Pourquoi « ceci » n'est-il pas défini dans la fonction de mon composant React et comment puis-je y remédier ?

DDD
Libérer: 2024-12-08 18:14:15
original
651 Les gens l'ont consulté

Why is

React : "this" n'est pas défini à l'intérieur d'une fonction de composant

Problème :

Dans un composant React, une tentative d'accès à "this" à l'intérieur d'une méthode entraîne une erreur "indéfinie". Le composant possède un objet d'état, qui doit être accessible dans les méthodes. Le développeur s'attend à ce que « ceci » fasse référence à l'instance du composant, mais il reste indéfini.

Solution :

ES6 React.Component ne lie pas automatiquement les méthodes au composant lui-même. Pour résoudre ce problème, il est nécessaire de lier manuellement les méthodes au sein du constructeur :

constructor (props) {
  super(props);
  
  this.state = {
      loopActive: false,
      shuffleActive: false,
    };
  
  this.onToggleLoop = this.onToggleLoop.bind(this);

}
Copier après la connexion

En liant la méthode, "this" fera correctement référence à l'instance du composant, permettant l'accès à l'état et aux autres propriétés. Cela garantit que « ceci » est défini dans la méthode dans laquelle il est destiné à accéder aux données spécifiques au composant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal