使用 React Hooks 更新位置给出错误:更新由以下人员管理的视图'region'时出错:AIRMAP



我有这个错误,我不知道出了什么问题。我使用React Hooks(useState和useEffect(来更新用户在React本地应用程序中的当前位置。

import React, {useEffect, useState} from 'react';
import MapView, {PROVIDER_GOOGLE} from 'react-native-maps';
import Geolocation from '@react-native-community/geolocation';
const MapScreen = () => {
const [location, setLocation] = useState({
latitude: 18.9712,
longitude: -72.2852,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
});
useEffect(() => {
Geolocation.getCurrentPosition(position => {
const region = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.001,
longitudeDelta: 0.001,
}
setLocation({region})
})
}, [])
return (
<MapView
provider={PROVIDER_GOOGLE}
style={{flex: 1}}
showsUserLocation={true}
region={location}
/>
)
}
export default MapScreen

我认为问题就在这里,

setLocation({region})

这里region是一个对象,所以它变成

setLocation({{
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.001,
longitudeDelta: 0.001,
}})

这是不正确的setState

你只需要设置区域,

setLocation(region)

相关内容

  • 没有找到相关文章

最新更新