用解构重新分配 let 变量

在我的 React 应用程序中,我正在使用 airbnb 的 eslint 样式指南,如果我不使用 destructun,它将抛出一个错误。

在下面的情况中,我首先使用 let将两个变量 latitudelongitude分配给位置对象数组中第一个项目的坐标。然后,如果用户允许我访问他们的位置,我会尝试使用解构重新分配他们的值。

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;
}

if语句中的解构会导致 unexpected token错误。

用传统方法重新分配变量会导致 ESlint: Use object destructuring错误。

23419 次浏览
 ({ latitude, longitude } = props.userLocation.coords);

Destructuring needs to be either after a let, const or var declaration or it needs to be in an expression context to distinguish it from a block statement.