web-dev-qa-db-fra.com

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

Je voulais raccourcir un objet littéral dans ES6 comme ceci:

const loc = this.props.local;

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

Mais maintenant, ESLint se plaint:

Utiliser la déstructuration d'objet: préférer la déstructuration

J'ai lu la description de error sur eslint.org mais je ne la comprends pas. Ils ont un exemple qui ressemble beaucoup à mon code mais leur semble être ok?

var foo = object.bar;

Comment puis-je réparer l'erreur sans la définir pour l'ignorer dans le fichier .eslintrc?

27
Timo

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.

57
Badis Merabet

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 assigner la valeur de la propriété locale from this.props".

3
ilmirons

Il vous dit d'utiliser

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