【发布时间】:2020-11-24 18:54:26
【问题描述】:
对不起,如果以前在其他地方已经回答过这个问题!我是 react-leaflet 的新手,并且已经在这个问题上苦苦挣扎了一段时间。
以下代码无法编译,并且 chrome 开发人员工具告诉我:此页面上的 3 个错误:
1)“TypeError:addOverlay 不是函数”,
2)“TypeError:addOverlay 不是一个函数”和“,
3) “TypeError: this.props.removeLayer 不是一个函数”。
我不明白的是:如果我注释掉“TestOverlay”组件,它会编译。将代码放入函数中似乎会发生一些神奇的事情,但我不知道是什么问题..
使用: “传单”:“1.7.1”, “反应”:“16.14.0”, “反应域”:“16.14.0”, "react-leaflet": "2.7.0",
非常感谢您的帮助!
import React from "react";
import { Map, TileLayer, LayersControl, Marker, LayerGroup } from "react-leaflet";
import "./App.css";
function TestOverlay() {
return <LayersControl.Overlay checked name="Random layer 2">
<Marker position={[52.339545, 4.900526]} />
</LayersControl.Overlay>;
}
export default function App() {
return (
<Map center={[52.339545, 4.900526]} zoom={14}>
<TileLayer
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
/>
<LayersControl position="topright">
<LayersControl.Overlay checked name="Random layer">
<Marker position={[52.339545, 4.900526]} />
</LayersControl.Overlay>
<TestOverlay/>
</LayersControl>
</Map>);
}
【问题讨论】:
标签: javascript reactjs leaflet react-leaflet