Javascript 如何编写输出react传单标记的组件?
应该如何编写在地图上输出标记的自定义react组件?我需要让smth像这样工作:Javascript 如何编写输出react传单标记的组件?,javascript,reactjs,leaflet,react-leaflet,Javascript,Reactjs,Leaflet,React Leaflet,应该如何编写在地图上输出标记的自定义react组件?我需要让smth像这样工作: import MyMarker from './MyMarker.js'; const builtMarker = (function() { const position = [51.520, -0.11]; return ( <MyMarker position={position}/> ); })(); render( <div> <h1>
import MyMarker from './MyMarker.js';
const builtMarker = (function() {
const position = [51.520, -0.11];
return (
<MyMarker position={position}/>
);
})();
render(
<div>
<h1>Hello, world!</h1>
<div className="map">
<Map center={center} zoom={13}>
<TileLayer
url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
/>
{builtMarker}
</Map>
</div>
</div>
,
document.getElementById('example')
);
我想该组件不仅应该扩展MapLayer
,还应该提供特殊的接口。少了什么?我在文档中找不到类似的例子
另外,我应该如何输出几个标记?我的意思是,在React中,它需要在一个单独的包装中。但它不能仅仅是地图的
。这个包装应该怎么写
PS:这是我演示我的案例的repo,我遇到了同样的问题,阅读文档发现我需要向map组件添加一个
ref='map'
,然后用一个propmap={This.props.map}
将其传递给子组件,将它们链接到实际的传单地图,就像使用传单JS一样
内部发生的情况是,它试图添加一个
映射。addLayer(this)
或类似的内容,发现当前版本的react传单的映射未定义。因此,错误Uncaught TypeError:Cannot read属性'addLayer'of undefined
表示找不到layerContainer
(默认为传单映射)
您可以通过将上下文访问的实例发送到react传单
组件来修复错误
Uncaught TypeError: Cannot read property 'addLayer' of undefined