【问题标题】:Flow generic of type {} is incompatible with default value of {}{} 类型的流泛型与 {} 的默认值不兼容
【发布时间】:2018-11-16 21:04:29
【问题描述】:

Flow 报告默认参数值 {} 与类型为 {} 的泛型不兼容。
这是一个最小的例子:

function copy<T: {}>(o: T = {}): T {
  //                         ^ object literal [1] is incompatible with `T` [2].
  return {
    ...o
  };
}

docs 表示{} 类型:

有时编写接受任意对象的类型很有用, 对于那些你应该写{}的人。

那么它们在什么意义上是不相容的?

【问题讨论】:

    标签: flowtype


    【解决方案1】:

    T: {} 表示“T{} 的任何子类型”,或者换句话说,T 是一个对象类型。如果它具有任何必需的属性,则{} 不是T 类型的值。

    【讨论】:

      猜你喜欢
      • 2018-08-16
      • 2015-08-11
      • 2017-12-03
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多