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