忧伤的王尓德
2022-08-10 12:56
采纳率: 50%
浏览 60

React+Ant design Pro+react-BMapGL开发

问题遇到的现象和发生背景

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>

3条回答 默认 最新

相关推荐 更多相似问题