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
?
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.
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".
Il vous dit d'utiliser
const {props: {local: loc}} = this;