javascript - TypeScript 不允许我访问数据
问题描述
我有胜利图表的组件(不是我的),它具有传递类型数据DomainPropType
(它是他们的类型)的功能。
<VictoryZoomContainer onZoomDomainChange={this.onDomainChange.bind(this)} />
它将数据传递给我的函数。如何x
在打字稿中访问(不使用类型'any')?
错误x
:
Property 'x' does not exist on type 'DomainPropType'.
Property 'x' does not exist on type '[number, number]'.
我很确定属性“x”存在。
甚至可以访问x
这里吗?
解决方案
您必须知道,typeof []
也返回object
,这就是 ts 抱怨的原因。您可以首先检查是否domain
是一个数组。如果不是 - 返回x
字段值。
if (Array.isArray(domain)) {
return domain; // domain is an array - return it
}
return domain.x; // domain isn't an array, it's an object - return x field
推荐阅读
- async-await - How wait until complet http request in angular-7
- r - R remove column of df inside list of list
- android - Android Q 显示错误的渐变方向
- docker - Is it possible to use Traefik if you have a DNS provider not on their list?
- java - 如何将流收集到列表中?
- sparql - Retrieve wikidata related data entities from wikipedia
- javascript - 如何限制axios同时对同一个资源发出2个以上的请求
- selenium - 在 Selenium 测试中是否有一个 Chrome 标志来禁用渐进式网络应用程序 (PWA) 的通知?
- autohotkey - 如何使用 autoHotKey 从网页中抓取表格?
- java - 从存储中检索以字符串开头的文件