我已如下定义类型typeA
:
export type typeA = {attr1: string, attr2: Map<string, mixed>};
我有一个函数可以这样返回这种类型:
async fun1(): Promise<typeA> {...}
现在,当我调用此函数并尝试访问地图的键时,出现错误:
var response = await fun1();
if (response.attr2.someKey) {...}
someKey
[1]中缺少属性Map
。
因为这是一张地图,我已经在检查密钥的存在:
答案 0 :(得分:1)
要从地图上获取属性,必须使用get
method。
如果要定义对象字典类型而不是Map,则为{ [string]: mixed }
https://flow.org/en/docs/types/objects/#toc-objects-as-maps
答案 1 :(得分:1)
地图对象不能那样工作,您需要使用以下文档中指定的get(key)
:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get