类型“MapView”上不存在属性“地图”
Posted
技术标签:
【中文标题】类型“MapView”上不存在属性“地图”【英文标题】:Property 'map' does not exist on type 'MapView' 【发布时间】:2020-05-01 09:31:45 【问题描述】:我正在使用 typescript 和 react-native-maps 创建一个 react-native 应用程序。 我正在关注他们给出的here 的一个例子。
在我尝试调用方法之前,我必须创建一个 ref,如示例中所示,但出现以下错误。
“类型‘地图’上不存在属性‘地图’”
这是我的代码。
import React, Component from "react";
import MapView, Marker from "react-native-maps";
export default class Map extends Component
constructor(props: any)
super(props);
this.state =
region:
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
,
coordinate:
latitude: LATITUDE,
longitude: LONGITUDE
;
render()
return (
<MapView
// Getting that error in this line
ref=map => this.map = map;
style= flex: 1
region=this.state["region"]
>
<Marker coordinate=this.state["coordinate"] />
</MapView>
);
我尝试了一些 here 提供的解决方案,但我怀疑它不是 react-native 的解决方案?
【问题讨论】:
【参考方案1】:这只是意味着它无法在您的组件上找到名为“map”的现有属性。因此,您只需在构造函数上方添加一个初始空属性即可消除错误,如下所示:
import React, Component from "react";
import MapView, Marker from "react-native-maps";
export default class Map extends Component
map: MapView // just add this to remove the error
constructor(props: any)
super(props);
this.state =
region:
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
,
coordinate:
latitude: LATITUDE,
longitude: LONGITUDE
;
render()
return (
<MapView
// Getting that error in this line
ref=map => this.map = map;
style= flex: 1
region=this.state["region"]
>
<Marker coordinate=this.state["coordinate"] />
</MapView>
);
【讨论】:
这修复了它。谢谢。【参考方案2】:试试这个:
ref=(ref) => this.map = ref
【讨论】:
以上是关于类型“MapView”上不存在属性“地图”的主要内容,如果未能解决你的问题,请参考以下文章
Subject<MessageEvent> 类型上不存在专有“地图”