打字稿并做出反应:重新定义库的类型

时间:2019-03-25 10:17:59

标签: reactjs typescript

我正在尝试从JSX迁移到TSX并遇到以下问题:

  • 我正在使用第三方库(React-Filepond
  • 图书馆接受多种道具
  • 该库的类型是由与原始库(@types/react-filepond无关)的人编写的,这些类型仅涵盖一些可接受的道具。

示例:

<FilePond
  server={{
      revert: () => this.props.updateUrl(this.state.oldImageUrl)
  }}
/>

这会导致类型错误,因为server道具的类型定义为:

interface FilePondServerConfigProps {
    server?: string | {
        revert: string | ServerUrl;
    }
}

stringServerUrl都与我的情况无关。

所以问题是,我该如何解决这个问题,以某种方式重新定义我的类型,而无需向类型库发出PR并等待其批准?

1 个答案:

答案 0 :(得分:0)

  

所以问题是,我该如何解决这个问题,以某种方式重新定义我的类型,而无需向类型库发出PR并等待其批准?

绝对发送PR。

快速修复

使用patch-package对其进行本地修补:https://www.npmjs.com/package/patch-package