React中对象中双管的用途是什么?

时间:2018-01-15 16:03:48

标签: javascript reactjs object types

我遇到了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,
];

1 个答案:

答案 0 :(得分:5)

这是一个流型确切的对象类型注释。

https://flow.org/en/docs/types/objects/#toc-exact-object-types

  

有时禁用此行为并仅允许一组特定属性很有用。为此,Flow支持“精确”对象类型。

基本上,它不会允许任何道具超出已定义的道具,如果你添加age: 40Author对象,则应该投诉。