Comment réparer Eslint erreur “préférez-déstructuration”?
J'ai voulu raccourcir un objet littéral dans l'ES6 comme ceci:
const loc = this.props.local;
La raison en est loc.foo();
est beaucoup plus facile à taper que this.props.local.foo();
Mais maintenant ESLint se plaint:
Utiliser l'objet déstructuration: préférez-déstructuration
J'ai lu le description de l'erreur sur eslint.org mais je ne la comprends pas. Ils ont un exemple qui ressemble très fort à mon code, mais leur semblent être ok?
var foo = object.bar;
Comment puis-je corriger l'erreur sans réglage de l'ignorer dans le .eslintrc
fichier?
C'est une règle qu'on doit activer en premier lieu. Pourquoi avez-vous le faire si vous ne l'aimez pas?
Ce n'est pas vrai. Si on étend de quelqu'un d'autre config, vous devrez peut-être désactiver cette règle à la place.
Désolé, j'ai oublié de mentionner que je suis en utilisant Airbnb styleguide
Ce n'est pas vrai. Si on étend de quelqu'un d'autre config, vous devrez peut-être désactiver cette règle à la place.
Désolé, j'ai oublié de mentionner que je suis en utilisant Airbnb styleguide
OriginalL'auteur Timo | 2017-11-20
Vous devez vous connecter pour publier un commentaire.
changer votre code à partir de:
:
Ils sont l'équivalent, et vous pouvez appeler
local.foo()
de la même manière. sauf que la deuxième utilisation de l'objet de déstructuration.C'est un ES6 fonction utilisée pour décompresser les variables de tableaux ou d'objets. cette syntaxe permet de créer un tableau de variables:
var x = [y, z]
. déstructuration de cession utilise la même syntaxe, mais sur le côté gauche de la mission de définir quelles valeurs pour décompresser de la source de la variable. var [y, z] = x. c'est la même chose pour les objets. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/.... Ça y est!Oui, cela a du sens pour l'extraction de plusieurs valeurs, mais pas pour un seul. Airbnb styleguide est encore un peu trop strict à ce point, à mon humble avis.
Il y a une faute de frappe ici "lacal" doit être "local"
Géniale 🙂
OriginalL'auteur Badis Merabet
C'est un nouveau concept dans l'ES 6, qui permet de faire correspondre la propriété d'un objet dans l'affectation. La syntaxe que vous avez besoin est:
qui se traduit par: "déclarez une constante de la ldc et de lui affecter la valeur de la propriété locale de cette.props".
OriginalL'auteur ilmirons
Il vous dit d'utiliser
Je suis d'accord, mais vous devez dire à la personne qui a permis à leurs linter de
prefer-destructuring
la règle 🙂Je préfère le dire à la personne que même ajouté que la règle de l'linter. Déstructuration n'a de sens que pour moi lors de l'affectation à plusieurs variables à la fois, car il réduit la répétition. Est-il possible d'avoir seulement la règle émettent une erreur lorsqu'il détecte la présence de plusieurs consécutive déclarations ou à des tâches à partir du même objet?
Il y a aussi la répétition qui peuvent être évitées lors de la variable nom et la clé de propriété sont les mêmes. Pour éviter la règle lorsque ce n'est pas le cas(comme dans cette question), vous semblez être en mesure de tourner
enforceForRenamedProperties
off. Je ne sais pas un paramètre qui n'applique déstructuration lorsqu'il y a plusieurs cibles, vous pouvez déposer une question pour cela.OriginalL'auteur Bergi