打字稿通用类型错误

时间:2018-07-09 02:19:25

标签: typescript mobx typescript-generics

我有一个实用程序功能,可以在注入存储区进行类型级别检查以反应组件。

import { Omit } from 'typelevel-ts';
import * as React from 'react';

declare module 'mobx-react' {
  export function inject<D>(
   mapStoreToProps: (store) => D
  ): <A extends D>(component: React.ComponentType<A>) => 
   React.SFC<Omit<A, keyof D> & Partial<D>>;
}

在最新的打字稿版本2.9.2中,我收到错误消息“类型'A'不满足约束'对象'。类型'D'无法分配给类型'对象'。”

请帮助您了解此错误以及可能的解决方法。

谢谢

1 个答案:

答案 0 :(得分:3)

看起来Omit要求第一个泛型是一个对象,因此,如果为D添加该约束,它应该可以工作:

export function inject<D extends object>(