Je suis très nouveau dans le monde codant. Je crée un générateur MEME et récupérez des données de l'API. La ci-dessous fait partie du code, il y a un const {memes} pour stocker les données extraites de API, mais pourquoi en avez-je besoin?
Pourquoi ne puis-je pas y mettre comme ça -> this.setstate ({allmemeimg: réponse.data})
3 Réponses :
La ligne const {memes} = intervention.data code> utilise la syntaxe destructuration pour assigner
réponse.data.memes code> à une constante
memes code>. Il est équivalent à dire
const memes = réponse.data.memes code>. Vous pouvez le sauter et faire
this.setstate ({allmemeimg: réponse.data.memes}) code> p>
Votre API renvoie un objet avec plus de paramètres dans lesquels les memes sont l'une d'elles. Avec cette syntaxe const {memes} = réponse.data code> Vous n'extrexez que la propriété MEMES. Vous pouvez ignorer cela et utiliser directement
this.setstate ({allMemeimg: respone.data.memes}) code> p>
const { data: { memes }} = response;
C'est ce qu'on appelle un Mission destructurant . C'est la même chose que faire
const memes = réponse.data.memes code>. Sans cela, vous feriez
this.setstate ({allmemeimg: réponse.data.memes}) code>. Ce n'est pas nécessaire - ce n'est que du sucre syntaxique pour votre commodité.
Vous pouvez. Juste
SetState ({Allmendeur: réponse? .Data? .Memes}) code>
@cybercoder Je dirais que
?. code> change un peu la sémantique :)
Est-ce que cela répond à votre question? Notation de support d'objet JavaScript ({navigation} =) à gauche côté d'assigner
@cybercoder Le
? code> Ne changez rien ici.
L'opérateur de point d'interrogation est nécessaire pour empêcher l'erreur lorsqu'il n'y a pas de clé ou d'objet imbriqué, et renvoie
non défini code> au lieu de l'erreur.