ReactJS-地图中缺少属性

时间:2018-09-30 21:55:54

标签: javascript reactjs

我已如下定义类型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

因为这是一张地图,我已经在检查密钥的存在:

  • 为什么会出现此错误?
  • 如何避免流量错误?

2 个答案:

答案 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