要删除的节点不是此节点的子节点

时间:2016-09-15 11:05:09

标签: reactjs react-leaflet leaflet-routing-machine

我需要删除leaflet-routing-machine控件。我使用react-leaflet并通过react-leaflet的示例创建了一个路由组件。

componentWillMount() {
  super.componentWillMount();
  const { map, from, to } = this.props;

  this.leafletElement = L.Routing.control({
    waypoints: [
      L.latLng(from[0], from[1]),
      L.latLng(to[0], to[1]),
    ],
  }).addTo(map);
 }

componentWillReceiveProps(nextProps) {
  if (this.props.to[0] !== nextProps.to[0] &&    this.props.to[1]!==nextProps.to[1]) {
    this.leafletElement.setWaypoints([]);
    //this.leafletElement.removeFrom(this.props.map); ??

    this.leafletElement = L.Routing.control({
      waypoints: [
        L.latLng(nextProps.from[0], nextProps.from[1]),
        L.latLng(nextProps.to[0], nextProps.to[1]),
      ],
    }).addTo(nextProps.map);
  }
}

render() {
  return null; 
}

当我尝试删除componentWillReceiveProps方法时,会出现一些错误:

  

要删除的节点不是此节点的子节点

  

当componentWillReceiveProps计时器仍在进行另一个实例时,没想到componentDidUpdate计时器正在启动。

也许我走错了方向。我是React的新手,我认为我在React的生命周期方法中错了。

我想我需要从Map中删除此infoBlock

enter image description here

0 个答案:

没有答案