Как я могу найти, где тип TS определен в моем приложении? - PullRequest
0 голосов
/ 05 июня 2019

Я добавил TS в свое приложение React / Redux.

Я использую window объект в моем приложении, например:

const FB = window.FB;

TS выдает ошибку:

Ошибка TypeScript: свойство 'FB' не существует для типа 'Window'. TS2339

Так что тип Window уже существует в моем приложении.

Как я могу найти, где это определено? Откуда TS знает, что тип Window уже существует?

Я хочу исправить эту ошибку.

Ответы [ 2 ]

2 голосов
/ 05 июня 2019

Итак, глядя на это:

https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation

Похоже, следующее объявление увеличит определение окна:

declare global {
    interface Window {
        FB: SomeType;
    }
}

так что теперь вы можете:

window.FB; //no problem
1 голос
/ 05 июня 2019

Чтобы решить вашу проблему, вы можете расширить интерфейс Windows и добавить свойство FB:

interface WindowWithFB extends Window {
    FB: any
}

let windowWithFB: WindowWithFB = { ...window, FB: 'your FB value here' };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...