问题遇到的现象和发生背景
Uncaught TypeError: Cannot set properties of undefined (setting 'map')
React+Ant design Pro+react-BMapGL开发
问题相关代码,请勿粘贴截图
return (
<PageContainer>
<Card>
<div
id="container"
style={{
width: '1278px',
height: '580px',
margin: '-24px',
}}
>
<Map
ref={(ref) => {
this.map = ref.map;
}}
center={{ lng, lat }}
zoom="18"
ScrollWheelZoom="true"
enableScrollWheelZoom="false"
style={{ height: '100%' }}
>
<MapTypeControl />
<Marker
position={new BMapGL.Point(lng, lat)}
enableDragging
icon={icon1}
onClick={() => {
console.log(1);
}}
/>
<NavigationControl anchor={BMAP_ANCHOR_BOTTOM_RIGHT} />
<InfoWindow position={{ lng, lat }} text="机器类型:" title="92610090000" />
</Map>
</div>
</Card>
</PageContainer>
);
运行结果及报错内容
报错内容:Uncaught TypeError: Cannot set properties of undefined (setting 'map')
我想要达到的结果
我想要在useEffect里监听地图缩放事件,所以要获取地图实例,但是在官网的写法<Map ref={ref => {this.map = ref.map}} />,在软件中报错说this可能未定义,所以怎么才能获取<map>的实例map呢</map>