我正在使用 react-leaflet (3.2.0) 和 TypeScript,在我的项目中,我不想使用 LayersControl 切换图层,但我需要以编程方式进行。所以我有这样的事情:
export const getDefaultBgLayer = () => (
<TileLayer attribution='© <a
href="osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" maxZoom={20}
minZoom={3} />
);
const MyMap = () => {
const [bgLayer, setBgLayer] = useState<any>(getDefaultBgLayer());
return (
<MapContainer>
{bgLayer}
</MapContainer>
);
}
export default MyMap;
如果我正在尝试
setBgLayer(getAnotherBgLayer())
它不会改变背景层。顺便提一句。getAnotherBgLayer 返回正确的背景层,因为:
const [bgLayer, setBgLayer] = useState<any>(getAnotherBgLayer());
工作正常。任何人都可以帮忙吗?问候, 米克