web-dev-qa-db-fra.com

Javascript réattribue la variable let avec la déstructuration

Dans mon React j'utilise le guide de style eslint d'Airbnb qui générera une erreur si je n'utilise pas la destruction.

Dans la situation ci-dessous, j'utilise d'abord let pour affecter les deux variables latitude et longitude aux coordonnées du premier élément d'un tableau d'objets de localisation. Ensuite, j'essaie d'utiliser la déstructuration pour réaffecter leurs valeurs si l'utilisateur m'a donné accès à leur emplacement.

let latitude = locations[0].coordinates[1];
let longitude = locations[0].coordinates[0];

if (props.userLocation.coords) {
  // doesn't work - unexpected token
  { latitude, longitude } = props.userLocation.coords;

  // causes linting errors
  // latitude = props.userLocation.coords.latitude;
  // longitude = props.userLocation.coords.longitude;
}

La déstructuration à l'intérieur de l'instruction if provoque un unexpected token Erreur.

Réaffecter les variables à l'ancienne provoque un ESlint: Use object destructuring Erreur.

27
plmok61
 ({ latitude, longitude } = props.userLocation.coords);

La destruction doit se faire soit après une déclaration let, const ou var, soit dans un contexte d'expression pour la distinguer d'une instruction de bloc.

63
Jonas Wilms