我遇到了React DND的一些示例,其中一个是以下代码:
export type Author = {|
id: string,
name: string,
avatarUrl: string,
url: string,
|}
在对象括号中有几个这样的导出类型,双管{|...|}
,尽管我进行了研究,但我找不到任何解释它的功能。我认为这是因为有多个作者被组合成最终对象(re:以下代码),双管道可以防止某种冲突。
const princess: Author = {
id: '4',
name: 'Princess bubblegum',
url: '',
avatarUrl: '',
};
export const authors: Author[] = [
jake, BMO, finn, princess,
];
答案 0 :(得分:5)
这是一个流型确切的对象类型注释。
https://flow.org/en/docs/types/objects/#toc-exact-object-types
有时禁用此行为并仅允许一组特定属性很有用。为此,Flow支持“精确”对象类型。
基本上,它不会允许任何道具超出已定义的道具,如果你添加age: 40
对Author
对象,则应该投诉。