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.