我的地图有问题。 react-leaflet
地图。
当我在其上加载网站时显示。但是其他方式,例如单击链接,则没有。
我只是加载左上角的磁贴,滚动时会一一加载。
以前有人遇到过这个问题吗?还是有人有主意?
一个例子: http://www.noelshack.com/2019-02-1-1546872914-capture.png
import React, { Component } from 'react';
import { Map, Marker, Popup, TileLayer } from 'react-leaflet';
import 'leaflet/dist/leaflet.css';
import './local_leaflet.css';
const mapState = {
lat: 49.4431,
lng: 1.0993,
zoom: 10,
visible: true,
url: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
};
export default () => (
<div>
<Map center={[mapState.lat, mapState.lng]} zoom={mapState.zoom}>
<TileLayer url={mapState.url} />
</Map>
</div>
);
我已经尝试过componentDidMount
,componentDidUpdate
,componentWillUnmount
...,但没有任何效果。
答案 0 :(得分:0)
我解决了我的问题。 我在MAP渲染中放了一个键,就像这样:
render ()
{
return (
<div>
<Map key={this.state.keyMAP} center={[this.mapState.lat, this.mapState.lng]} zoom={this.mapState.zoom}>
<TileLayer url={this.mapState.url} />
</Map>
</div>
);
}
这是我的状态下的随机密钥。像这样随机。
state = {
keyMAP: Math.random(),
};
希望它会帮助别人! :)