部分类型Flow.js

时间:2018-11-05 10:56:53

标签: javascript types flowtype

我具有flow.js类型定义,如下所示:

export type Block = {
  color: {
    primary: Color,
    secondary: Color,
  },
  font-size: '16px',
  font-weight: '500',
};

我想创建一个对象,它没有定义所有属性,而另一个对象却具有所有必填字段。

第二个:

const divv: Block = {
 ...all fields here
}

第一个(仅字体大小):

const divv2: Block | any = {
 font-size: '17px'
}

如您所见,我已经使用过

  

块|任何

要声明第一个divv,但是intellisense会提示我所有divv2属性,但是它只有一种主要的Block类型。

如何正确执行?

1 个答案:

答案 0 :(得分:2)

尝试$Shape

  

复制提供的类型的形状,但将每个字段都标记为可选。

因此,它将是:

const divv2: $Shape<Block> = {
  font-size: '17px'
}