En mi aplicación React, estoy usando la guía de estilo eslint de airbnb, que generará un error si no uso la destrucción.
En la siguiente situación, primero uso let para asignar las dos variables latitude y longitude a las coordenadas del primer elemento en una matriz de objetos de ubicación. Luego trato de usar la desestructuración para reasignar sus valores si el usuario me ha dado acceso a su ubicación.
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 desestructuración dentro de la declaración if provoca un error de unexpected token .
La reasignación de las variables a la antigua genera un ESlint: Use object destructuring .
({ latitude, longitude } = props.userLocation.coords); La desestructuración debe realizarse después de una declaración let , const o var o debe estar en un contexto de expresión para distinguirla de una declaración de bloque.