gpt4 book ai didi

reactjs - 使用 React 在 Mapbox GL 中自定义标记

转载 作者:行者123 更新时间:2023-12-03 13:32:28 24 4
gpt4 key购买 nike

Mapbox GL 提供了添加自定义标记的方法,但是它需要 HTMLElement 作为参数,这强制使用 ReactDom 首先渲染标记,然后附加它:

const placeholder = document.createElement('div');

const marker = ReactDOM.render(
<div className='mapboxgl-marker'>
<marker/>
</div>, placeholder);

const markerRef = new mapboxgl.Marker(marker).setLngLat(position).addTo(map);

我觉得这是次优的解决方案,因为它发生在 render() 函数之外。

有更好的方法吗?

最佳答案

扩展 React 组件,以便您可以利用 shouldComponentUpdate 函数控制其渲染次数。

如果您从此函数返回true,您的标记将重新渲染。看来您只想渲染一次,因此您可以对 shouldComponentUpdate 进行硬编码以始终返回 false。但是,如果您只想让它运行一次,那么到底有什么问题呢?也许您只想在某些条件下有条件地重新渲染,以便可以在 shouldComponentUpdate 函数中处理这些情况。

更多信息:` https://reactjs.org/docs/react-component.html#shouldcomponentupdate

关于reactjs - 使用 React 在 Mapbox GL 中自定义标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47841951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com