我有以下简单的React组件,使用react-mapbox-gl包装器。 到目前为止,它很好,但是在尝试使用useState hook更新状态时,我发现一个小烦恼。
function Location(props) {
const [selectedMarker, setSelectedMarker] = useState(null);
const [markerBlock, setMarkerBlock] = useState(false)
const {payload} = useContext(MarkerContext);
const [latlong, setLatlong] = useState(null);
console.log(payload);
const Map = ReactMapboxGl({
accessToken:
'tokenHiddenforstackoverflow',
});
const getLatlng = (map, event) => {
setLatlong(event.lngLat);
}
return (
<>
<Map
style="mapbox://styles/mapbox/satellite-streets-v9"
containerStyle={{
height: '100vh',
width: '100%'
}}
onClick={getLatlng}
center={[18.432723671572944, -33.926210020024826]}
>
<ZoomControl />
</Map>
</>
);
}
export default Location;
每当我更新LatLong状态时,Mapbox背景会变黑并且整个地图都会重新加载。不确定是编程/结构错误还是Mapbox的错误。我也尝试将其重新组织成较小的组件,但没有任何区别。
有什么想法吗?