Comment définir l'état de la réponse de l'axios à réagir
Comment puis-je définir l'état d'une réponse dans axios?
axios.get(response){
this.setState({events: response.data})
}
Vous devez vous connecter pour publier un commentaire.
Comment puis-je définir l'état d'une réponse dans axios?
axios.get(response){
this.setState({events: response.data})
}
Vous devez vous connecter pour publier un commentaire.
Vous avez une erreur de syntaxe ici. Vous devriez essayer ceci à la place
Il y a quelques choses à noter ici:
axios.get
est une fonction d'asynchrone qui signifie que le reste du code sera exécuté .Et quand la réponse du serveur arrive, la fonction passée àthen
sera exécuté. La valeur de retour deaxios.get('url')
est appelé une promesse d'objet. Vous pouvez lire plus à ce sujet icithis
mot-clé a une valeur différente en fonction de l'endroit où il est appelé.this
dansthis.setState
devrait consulter le constructeur de l'objet, et lorsque vous appelezthis
l'intérieur d'une fonction, il se réfère à lawindow
objet. C'est pourquoi j'ai confiéthis
à la variableself
. Vous pouvez lire plus à ce sujet iciConseil du Pro:
Si vous utilisez ES6, vous pouvez utiliser la flèche fonctions (qui n'ont pas leur propre
this
) et l'utilisationthis.setState
sans affecterthis
à une variable. plus à ce sujet iciVoici un exemple complet https://codesandbox.io/s/rm4pyq9m0o contenant meilleures pratiques couramment utilisé pour récupérer les données y compris la gestion des erreurs, essayez de nouveau et le chargement. Cela fournit un meilleure expérience Utilisateur. Vous êtes encouragés à modifier le code et de jouer autour pour obtenir plus de renseignements à ce sujet.
Ce n'est pas de travail parce que "cela" est différente à l'intérieur de l'axios. "ce" à l'intérieur de axios se réfère à l'axios objet, de ne pas réagir votre composant. Vous pouvez résoudre ce avec .lier
Aussi axios n'est pas utilisé correctement.
il devrait ressembler à quelque chose comme
Alternativement, si vous utilisez es6 vous pourriez sous la fonction pour une flèche de fonction et d'obtenir le même effet sans les lier
Simplement essayer ce node js
si vous utilisez réagir js puis de la première importation d'un composant que l'utilisation d'axios
comme ceci:
J'ai traité avec des promesses semblables à ce que dans le passé, lorsque j'étais à l'apprentissage de réagir. Ce que j'ai fait a été mis à l'appel de l'api sur la
componentDidMount
méthode et de définir l'état d'une valeur initiale. J'ai utilisé un chargeur alors que les données soient récupérées.Comme de maintenant, je voudrais utiliser quelque chose de similaire à ce que checkenrode dit.
Faire quelque chose comme ceci: