【发布时间】:2017-06-05 16:03:03
【问题描述】:
我有一个深度嵌套对象的流类型。我想创建一个提取特定属性的函数,如果该属性存在于该类型的对象上,并且该属性值属于该类型:
在试用流程中可见here
/* @flow */
type DeeplyNested = {
[string]: string | DeeplyNested
};
function getDogs(deeplyNested: DeeplyNested): ?DeeplyNested {
return (deeplyNested.dogs: DeeplyNested);
}
let someThingWithDogs = {
dogs: {
somethingElse: 'yes'
}
}
let result = getDogs(someThingWithDogs);
我得到错误:
return (deeplyNested.dogs: DeeplyNested); ^ 字符串。
该类型不兼容return (deeplyNested.dogs: DeeplyNested); ^ 对象类型
有没有办法先检查属性是否属于该类型,然后强制转换并返回该属性?
【问题讨论】:
标签: javascript reactjs flowtype