通用函数类型不适用于返回的对象成员

时间:2019-07-08 14:44:46

标签: javascript types flowtype

我正在定义一个函数,该函数返回一个对象,该对象的成员是具有相同有效负载的函数。有效载荷类型通过generic定义,该对象扩展对象。但是,flow抱怨泛型类型与传递的类型不同:

export const getObj = <T: {}>(url: string) => ({
  create: (entity: T) => console.log(url, entity),
  ...
});

const url = '/some-path';

type TEntity = {
  some: string,
};

const entity: TEntity = {
  some: 'value',
};

const instance = getObj<TEntity>(url);

instance.create(entity);

Flow抱怨:

  

^无法通过绑定到{{1}的instance.create来调用entity,因为entity 2TEntity 2不兼容。 / p>

Try

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如有疑问,be more explicit.