如何使用 react-leaflet 添加 onEachFeature 绑定

问题描述

我有一个 django rest api,它提供以下获取响应:

counties

使用 django 视图,我可以按如下方式渲染 geojson:

var kcount = L.geoJson();
$.getJSON("{% url 'counties' %}",function (data) {
  myLayer = new L.geoJson(data,{
  onEachFeature: function (feature,layer) {
          layer.bindPopup('<font size="4">' + feature.properties.county_nam)
        },style: countStyle
 }).addTo(kcount).addTo(map);
});

我的挑战是使用 react-leaflet 显示相同的内容。我如何实现 onEachFeature 循环...以及如何只查询特定的县?

<Map className="map" style={{height:'100%',width:'100%'}}>
      <GeoJSON data={geo}/>
</Map>

解决方法

在 GeoJSON 对象上添加 onEeachFeature 方法,并生成弹出窗口:

..
onEach(feature,layer){
        let PopupContent = `
            <Popup>
                <p>county name:${feature.properties.county_nam}</p>
            </Popup>
        `
        layer.bindPopup(PopupContent)
    }
..
    <Map>
    <GeoJSON data={geo} onEachFeature={this.onEach}/>
    </Map>