我正在尝试在我的 React 应用程序中使用 Leaflet。我遇到了一个问题。Leaflet.js 要求 div 组件在启动地图时预先存在。React 在呈现组件之前不会“创建” div,因此传单会引发错误。无论出于何种原因,getDOMNode() 和 findDOMNode() 都返回“非函数”。
代码:
import React from 'react';
import {render} from 'react-dom';
import L from 'leaflet';
...一会儿
export default class Mapbox extends React.Component {
render() {
var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
return (
<div id="map">
<h1>hi</h1>
</div>
);
这将返回“未找到地图容器”的错误。
谢谢。