我正在测试版本为“ 4.0.0-beta.3”(https://github.com/uber/react-map-gl)的库示例,但是我对方法onViewportChange发出警告:
警告:在现有状态转换过程中无法更新(例如 在渲染中)。渲染方法应该是props和 状态。
答案 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