抱歉,如果之前已经在其他地方回答过这个问题!我是反应传单的新手,并且在这个问题上挣扎了一段时间。
以下代码无法编译,并且 chrome 开发人员工具告诉我:此页面上有 3 个错误:
1)“TypeError:addOverlay 不是函数”,
2)“TypeError:addOverlay 不是函数”和“,
3)”类型错误:this.props.removeLayer 不是函数”。
我不明白的是:如果我注释掉“TestOverlay”组件,它就会编译。将代码放入函数中似乎会发生一些魔法,但我不知道问题是什么。
使用:“传单”:“1.7.1”,“反应”:“16.14.0”,“反应-dom”:“16.14.0”,“反应传单”:“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>);
}
繁星coding
相关分类