首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MapContainer外部渲染贴图子对象

从MapContainer外部渲染贴图子对象
EN

Stack Overflow用户
提问于 2021-01-27 22:55:43
回答 1查看 167关注 0票数 0

我想从初始MapContainer外部在<MapContainer>内部呈现一个子对象。这是不是有可能呢?

在react-leaflet-v3中,我通过引用传递map对象,从而在map上呈现了很多项。但是对于我目前的情况,我想基于路由在地图上渲染一个react按钮。

这样做的一种方法是在MapContainer中添加嵌套<Route />.。然而,这并不理想,因为分散的路由行为...

有没有可能用另一种方式?

EN

回答 1

Stack Overflow用户

发布于 2021-02-06 21:04:38

我使用门户的方式来解决我的问题:

在我的map容器中,这是发生的:

代码语言:javascript
复制
const [control, setControl] = useState(null);
const handleRef = useCallback((instance) => setControl(instance), [
  setControl,
]);
...


<MapContainer ...>
   ...
   <div className="mapcontrol-top-left" ref={handleRef}></div>
</MapContainer>

在一个完全不同的组件中,我有条件地想在地图上显示一些东西,我这样做(使用Material-UI Portal & Fab组件):

代码语言:javascript
复制
<Portal container={props.control}>
  <Fab size="medium">
    <EditIcon />
  </Fab>
</Portal>

material-ui Portal组件易于使用并增加了方便性,但是原生的React Portal也会使它变得更复杂……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65921661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档