javascript - ReactJS - 地图中缺少属性
问题描述
我定义了一个类型typeA
如下:
export type typeA = {attr1: string, attr2: Map<string, mixed>};
我有一个函数返回这种类型:
async fun1(): Promise<typeA> {...}
现在,当我调用此函数并尝试访问地图的键时,出现错误:
var response = await fun1();
if (response.attr2.someKey) {...}
[1]
someKey
中缺少属性。Map
因为,这是一张地图,我已经在检查密钥是否存在:
- 为什么我会收到此错误?
- 如何规避流量错误?
解决方案
要从地图中获取属性,您必须使用get
方法。
如果您想定义对象字典类型而不是 Map 它是{ [string]: mixed }
https://flow.org/en/docs/types/objects/#toc-objects-as-maps
推荐阅读
- node.js - UnhandledPromiseRejectionWarning: TypeError: Channel credentials must be a ChannelCredentials object in GCP Batch publishing
- javascript - Pug 增加数字 'inside' 数组名
- python - 时间数据 '09-01-2014 00:01' 与格式 '%m/%d/%Y %H:%M:%S' 不匹配(匹配)
- javascript - 反应如何根据多个键过滤地图功能
- reactjs - 如何将十进制字符 (.) 更改为 (,)
- azure - 物联网工业无云架构
- c# - 遍历 Blazor 中的 IJSObjectReference
- java - 如何在安装程序运行时计算建议的安装目录?
- ios - 如何为 UIBarButtonItem 添加背景颜色?
- ms-word - 无法在 winword 2016 中使用 runas