react-map-gl警告onViewportChange

时间:2018-10-31 16:33:42

标签: reactjs warnings mapbox react-map-gl

我正在测试版本为“ 4.0.0-beta.3”(https://github.com/uber/react-map-gl)的库示例,但是我对方法onViewportChange发出警告:

  

警告:在现有状态转换过程中无法更新(例如   在渲染中)。渲染方法应该是props和   状态。

enter image description here

2 个答案:

答案 0 :(得分:2)

我在4.1.13上得到了这个。

您可以通过仅在安装组件后响应onViewportChange来解决警告:

class Map extends Component {
  state = {
    viewport: {
      width: 400,
      height: 400,
      latitude: -33.9249,
      longitude: 18.4241,
      zoom: 8
    },
    mounted: false
  }

  componentDidMount () {
    this.setState({ mounted: true })
  }

  render () {
    const { mounted } = this.state
    return (
      <ReactMapGL
        mapboxApiAccessToken={<token>}
        {...this.state.viewport}
        onViewportChange={(viewport) => {
          if (mounted) { this.setState({ viewport }) }
        }}
      />
    )
  }
}

答案 1 :(得分:0)

已解决的问题:版本4.0.0-beta.4 https://github.com/uber/react-map-gl/issues/642