我已将TS添加到我的React / Redux应用程序中。
我在应用中使用window
对象是这样的:
const FB = window.FB;
TS引发错误:
TypeScript错误:类型“ Window”上不存在属性“ FB”。 TS2339
所以我的应用程序中已经存在类型Window
。
如何找到它的定义位置? TS如何知道类型Window
已经存在?
我要修复此错误。
答案 0 :(得分:2)
所以看这个:
https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation
以下声明似乎会增强窗口定义:
declare global {
interface Window {
FB: SomeType;
}
}
现在您可以:
window.FB; //no problem
答案 1 :(得分:1)
要解决您的问题,您可以扩展Window界面并添加FB属性:
interface WindowWithFB extends Window {
FB: any
}
let windowWithFB: WindowWithFB = { ...window, FB: 'your FB value here' };