gpt4 book ai didi

javascript - react 和传单

转载 作者:行者123 更新时间:2023-11-29 16:49:25 25 4
gpt4 key购买 nike

我正在尝试在我的 React 应用程序中使用 Leaflet。我遇到了一个问题。 Leaflet.js 要求 div 组件在启动 map 时预先存在。 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: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

return (

<div id="map">
<h1>hi</h1>
</div>
);

这将返回“未找到 map 容器”的错误。

谢谢。

最佳答案

您可以在 componentDidMount 中初始化 map

class Mapbox extends React.Component {
componentDidMount() {
this.map();
}

map() {
var map = L.map('map').setView([51.505, -0.09], 13);

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
}

render() {
return <div id="map">xx</div>
}
}

Example

关于javascript - react 和传单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661136/

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