typescript и react: переопределяют типы для библиотеки

#reactjs #typescript

#reactjs #typescript

Вопрос:

Я пытаюсь перейти с JSX на TSX и сталкиваюсь со следующей проблемой:

  • Я использую стороннюю библиотеку ( React-Filepond )
  • Библиотека принимает несколько типов реквизитов
  • Типы для этой библиотеки написаны человеком, не связанным с исходной библиотекой ( @types/react-filepond ), и эти типы охватывают только некоторые из принятых реквизитов.

Пример:

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

это приводит к ошибке типа, поскольку типы для server prop определены как:

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

и ни string ни ServerUrl не имеют отношения к моему случаю.

Итак, вопрос в том, как мне обойти это, каким-то образом переопределить мои типы, не отправляя PR в репозиторий types и не ожидая его одобрения?

Ответ №1:

Итак, вопрос в том, как мне обойти это, каким-то образом переопределить мои типы, не отправляя PR в репозиторий types и не ожидая его одобрения?

Обязательно отправьте PR.

Быстрое исправление

Используйте patch-package для локального исправления: https://www.npmjs.com/package/patch-package