You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native项目中如何从Expo Location结果直接提取经纬度更新状态

直接更新位置状态的几种写法

你可以不用额外声明变量,直接在setLocation中构造目标对象,以下是几种简洁的实现方式:

1. 直接指定键值对(最直观)

直接在对象字面量中明确写出属性名和对应的值:

setLocation({
  latitude: result.coords.latitude,
  longitude: result.coords.longitude
});

2. 嵌套解构(一行完成)

利用ES6的对象解构语法,在setLocation参数中直接从result.coords提取需要的属性:

setLocation(({ latitude, longitude }) => ({ latitude, longitude }));

这里的箭头函数会自动从result.coords解构出两个属性,然后返回包含这两个属性的对象(外层括号是为了让JS识别为对象字面量而非函数体)。

为什么你之前的写法无效?

你尝试的setLocation({result['coords'].latitude, result['coords'].longitude})之所以失败,是因为对象字面量中必须显式指定属性名。当你只写一个表达式时,JS会默认把表达式的结果当作属性值,但属性名会被解析为变量名(而这里你用的是表达式,不是变量),导致语法错误。必须明确写出latitude:和longitude:来对应属性值。

内容的提问来源于stack exchange,提问作者JamesC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 05:02:07