为什么在与对象合并的对象上键入错误

时间:2019-08-08 11:11:08

标签: flowtype

我有一种类型的实体对象,例如User,我想创建具有默认值的工厂函数。

与下面类似,但createUser1会引发错误,而看上去多余的createUser2则不会出错。为什么?

export type User = {|
  name: ?string
|};

// error
export const createUser1 = (values: User): User => {
  return {
    name: 'john',
    ...values
  }
}

// no error
export const createUser2 = (values: User): User => {
  return {
    ...{
      name: 'john',
    },
    ...values
  }
}

Try Flow (v0.104.0)

上复制的示例

1 个答案:

答案 0 :(得分:0)

此行为已在Flow v0.111.0上修复,因此这可能是一个错误!