You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React TS项目Leaflet中useRef调用getLatLng报TS2339怎么解决

报错原因

TypeScript 无法自动推导 markerRef 的实例类型,你初始化时赋值为 null,TS 默认将 markerRef.current 的类型推导为 never,自然识别不到 Leaflet Marker 实例的 getLatLng 方法。

解决步骤
  • 第一步:从 leaflet 包导入 Marker 类型
import type { Marker } from 'leaflet'
  • 第二步:给 useRef 显式指定泛型类型
    将原代码中的 ref 声明:
const markerRef = React.useRef(null);

修改为:

const markerRef = React.useRef<Marker | null>(null);

修改后 TypeScript 就会识别 markerRef.current 要么是 null,要么是 Leaflet 的 Marker 实例,调用 getLatLng 方法就不会触发类型报错了。

内容的提问来源于stack exchange,提问作者Sopon Kongnithigarn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:45:03