59 votes

Comment corriger l'erreur Eslint "prefer-destructuring"?

J'ai voulu raccourcir un objet littéral dans l'ES6 comme ceci:

const loc = this.props.local;

La raison est - loc.foo(); est beaucoup plus facile à taper que this.props.local.foo();

Mais maintenant ESLint se plaint:

L'utilisation de l'objet de déstructuration: préférez-déstructuration

J'ai lu la description de l'erreur sur eslint.org mais je ne le 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 l' .eslintrc le fichier?

104voto

Badis Merabet Points 2220

changer votre code de:

 const local = this.props.local;
 

à:

 const { local } = this.props;
 

Ils sont équivalents et vous pouvez appeler local.foo() de la même manière. sauf que le deuxième objet utilise la déstructuration.

6voto

ilmirons Points 454

C'est une nouvelle construction dans ES 6 qui vous permet de faire correspondre la propriété d'un objet en affectation. La syntaxe dont vous avez besoin est la suivante:

 const { local: loc } = this.props
 

qui se traduit par: "déclarer une constante loc et lui attribuer la valeur de la propriété locale from this.props".

3voto

Bergi Points 104242

Il vous dit d'utiliser

 const {props: {local: loc}} = this;
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X