JserWang / rc-bmap

当百度地图遇上React,会产生怎样的火花🔥 🎉欢迎您的加入🎉
http://jser.wang/bmap/
MIT License
848 stars 37 forks source link

使用setState后,点击地图事件不会再触发 #83

Closed houjunjie closed 5 years ago

houjunjie commented 5 years ago

我的需求是这样的。点击地图获取到经纬度,然后定位Marker的位置,当使用了setState之后,组件重新渲染,地图上的点击事件就不会再触发了。 代码如下:

class Bmap extends React.Component {
  state = {
    point: null
  }
  render() {
    const {point} = this.state;
    return (
      <React.Fragment>
        <Map
        center='北京'
        zoom={18}
        placeHolder="地图加载中..."
        >
        <Events click={this.handleMapClick} />
        {point && <Marker>
            <Point {...point} />
          </Marker>}
        </Map>
      </React.Fragment>
    );
  }
  handleMapClick = (e) => {
    console.log(e,'地图单击事件');
    this.setState({
      point: e.point
    })
  }
}

0.2版本,1.0版本均存在这个问题。

麻烦看下是不是我的代码写得有问题。

JserWang commented 5 years ago

嗨,感谢提供代码示例,这确实是存在的一个BUG,我马上修复它。

JserWang commented 5 years ago

现在可以在1.0.1版本中体验,感谢你的使用。