【问题标题】:how to set global variable in React Native in typescript?如何在打字稿中的 React Native 中设置全局变量?
【发布时间】:2021-10-31 01:46:26
【问题描述】:

我想在 react native 中设置一个全局变量。这是必要的,并且在我的特定用例中似乎是唯一的选择。我在我的项目中使用打字稿。问题是打字稿抱怨当我设置类似global.foo = bar; 的错误“类型'typeof globalThis'上不存在属性'foo'。”我试图创建一个这样的声明文件 -

declare module NodeJS {
    export interface Global {
        foo: any;
    }
}

还有我在网上找到的一些其他方法用于 react native 或 NodeJS。似乎都没有工作。有谁知道为什么这不起作用。我已经以相同的方式声明了其他模块,除了全局模块之外,它们都在工作。为什么?

【问题讨论】:

    标签: typescript react-native


    【解决方案1】:

    你可以作弊并这样做:

    (global as any).foo = bar;
    

    当你需要访问它时,也可以使用(global as any).foo

    从类型安全的角度来看,这显然是一种不好的做法,而且会污染全局命名空间,但你说过这是你的唯一方法......

    【讨论】:

    • 我现在正在使用 // @ts-ignore// eslint-no-undef(foo as typeof foo)。有了这个,我在foo 对象上也得到了打字稿智能感知。但我想有一个解决方案。好像没有找到。
    猜你喜欢
    • 1970-01-01
    • 2017-10-22
    • 2012-11-28
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2016-02-03
    相关资源
    最近更新 更多