Appel d'une fonction statique dans la classe de Réagir ES6
J'ai le texte suivant ReactJS classe:
import React from 'react'
export class Content extends React.Component {
static getValue(key) {
return key
}
render() {
let value = this.getValue(this.props.valueKey);
return <span dangerouslySetInnerHTML={{__html: value}} />
}
}
Mais j'ai l'erreur suivante:
TypeError: this.getValue is not a function
Je ne comprends pas. Est-ce la bonne façon d'appeler une fonction statique? Je pense que de réagir est de faire quelque chose de statique, mais je ne sais pas quoi.
- "est-ce le bon moyen pour appeler une fonction statique ?" Depuis il ne fonctionne pas, probablement pas 😛
Vous devez vous connecter pour publier un commentaire.
Une méthode statique qui doit être accessible à la classe d'une instance. Donc dans votre cas, utilisez:
Content.getValue()
Cependant, une méthode statique ne sera pas en mesure d'accéder à
this
-- je ne pense pas que vous voulez que la méthode statique basée sur l'exemple de code ci-dessus.Plus: Les Membres statiques dans l'ES6
Vous pouvez accéder à partir de l'intérieur de la classe comme
this.constructor.getValue
.Edit: j'ai ajouté un JSFiddle ici. Le seul changement que j'ai fait était d'ajouter l'appel de la fonction à partir du constructeur et la suppression de l'dangereusement ensemble innerHTML - Comme indiqué, vous pouvez accéder à la getValue statique à partir de ce.constructeur, et fonctionne très bien.
React.Component
Content.getValue
mais sans avoir besoin de coder en dur le nom de classe