react native 中的地理位置连续运行
Posted
技术标签:
【中文标题】react native 中的地理位置连续运行【英文标题】:Geolocation in react native runs continously 【发布时间】:2020-03-30 15:38:14 【问题描述】:我尝试创建一个简单的 react native 应用程序,并使用 react-native-maps 在地图中显示我的位置。
const [coordinate, setCoordinate] = useState()
const getCoordinate = () =>
navigator.geolocation.getCurrentPosition(data =>
setCoordinate(
latitude: data.coords.latitude,
longitude: data.coords.longitude,
);
);
useEffect(() =>
getCoordinate();
)
代码运行良好,我得到了我的位置,用标记标记。我的问题是为什么 getCoordinate 函数会不断地调用自己,并且不停地运行?
【问题讨论】:
【参考方案1】:您没有将第二个参数传递给 useEffect
(它应该是一个依赖项数组),这会导致它在每次渲染时运行。
由于您只希望它运行一次(基本上是在挂载时),因此您需要将一个空数组作为第二个参数传递给您的 useEffect
:
useEffect(() =>
getCoordinate();
, [])
【讨论】:
以上是关于react native 中的地理位置连续运行的主要内容,如果未能解决你的问题,请参考以下文章
react-native 中的 navigator.geolocation.getCurrentPosition 是不是与本地地理定位方法一样准确?