1

我有一个实用程序函数,它对注入存储以响应组件进行类型级别检查。

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'不可分配给类型'对象'。”

您能否帮助了解此错误以及如何解决此错误。

谢谢

4

1 回答 1

3

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

export function inject<D extends object>(
于 2018-07-09T02:44:53.183 回答