我用的是反应传单。
例如,我希望设置边界,以便在调用<MapContainer>
的文件之外映射。为此,我需要使用const map = useMap();
。如何将useMap()与调用的文件连接起来?
或者进一步澄清..。我想连接到地图文件之外的映射,以便能够添加/删除内容。例如,我希望在调用<MapContainer>
的文件之外启用标记。
发布于 2022-02-14 15:12:00
ghybs可能是对的,因为您可能在考虑做一些在L.map
的祖先中并不真正需要MapContainer
对象的事情。尤其是如果您只是在讨论如何使用map Marker
组件--它们只是作为映射的子组件使用过。话虽如此,你所说的做起来很简单。如何使底层L.map
对象可用的示例就在反应-传单文件中。
一个简单的例子:
const App = () => {
const [mapRef, setMapref] = useState();
return (
<>
<Map setMapRef={setMapRef} />
<SomewhereElse mapRef={mapRef} />
</>
)
}
const Map = ({ setMapRef }) => {
return <MapContainer whenCreated={setMapRef} />
}
一旦MapContainer
加载了传单映射,就会触发whenCreated
,然后触发回调setMapRef
。L.map
实例现在保存到App
中的mapRef
状态变量,并可在那里使用SomewhereElse
。
https://stackoverflow.com/questions/71104753
复制相似问题