componentDidCatch второй параметр не совместим по типу с функцией, вызываемой изнутри

У меня есть стандарт componentDidCatch в моем компоненте, который набран, как показано ниже, и вызывает внешнюю библиотеку ведения журнала изнутри:

  componentDidCatch(error: Error, info: React.ErrorInfo) {
    Logger.logErrorMessage(error.message, info);
  }

Однако сторонняя библиотека журналов logErrorMessage функция набирается примерно так:

type ArbitraryValue = undefined | string | number | boolean | ArbitraryObject;

interface ArbitraryObject {
  [p: string]: ArbitraryValue;
}

...


logErrorMessage(message: string, info: ArbitraryObject): void;

Сообщение об ошибке TS отображает следующее

.../ErrorBoundary.tsx:38:82 - error TS2345: Argument of type 'ErrorInfo' is not assignable to parameter of type 'ArbitraryObject'.
  Index signature is missing in type 'ErrorInfo'.

38     Logger.logErrorMessage(error, info);
                                     ~~~~

Как лучше всего получить мой infoпараметр componentDidCatch, чтобы придерживаться интерфейса ArbitraryObject logErrorMessage? Оптимально без изменения источника библиотеки Logger.

0 ответов

Другие вопросы по тегам