【发布时间】:2019-10-20 19:31:16
【问题描述】:
我已将 TS 添加到我的 React/Redux 应用程序中。
我在我的应用程序中使用 window 对象,如下所示:
componentDidMount() {
let FB = window.FB;
}
TS 抛出错误:
TypeScript 错误:“窗口”类型上不存在属性“FB”。 TS2339
我想修正错误。
1(不起作用)
// Why doesn't this work? I have defined a type locally
type Window = {
FB: any
}
componentDidMount() {
let FB = window.FB;
}
// TypeScript error: Property 'FB' does not exist on type 'Window'. TS2339
2(修复错误)
我在这里找到了答案https://stackoverflow.com/a/56402425/1114926
declare const window: any;
componentDidMount() {
let FB = window.FB;
}
// No errors, works well
为什么第一个版本不起作用,但第二个版本起作用,即使我根本没有指定 FB 属性?
【问题讨论】:
-
你使用模块吗?答案会有所不同
-
我使用 React 组件。以上所有行为都来自 React 组件。它们可能被称为模块,因为它们封装了逻辑
标签: reactjs typescript create-react-app