【问题标题】:Is it advisable to add to the global window object?是否建议添加到全局窗口对象?
【发布时间】:2019-10-14 14:46:01
【问题描述】:

所以我正在处理一个 React/Typescript 项目,我需要在其中存储需要全局访问的行数的值。

在窗口对象上定义它是个好主意吗?

window.MySpace = {};
MySpace.rowCount = 10;

随着项目的发展,是否会出现任何问题?或者有没有更优雅的方式通过 Typescript 来处理这个问题?

谢谢!

编辑:

module.ts 文件中将其声明为模块

export module Global {
    export const rowCount = 10;
}

然后将其导入到需要rowCount 值的任何文件。

【问题讨论】:

标签: javascript reactjs typescript


【解决方案1】:

当您需要存储一个需要全局访问的值时,请创建一个具有唯一名称的全局对象,并将您的变量作为该对象的属性:

window.MySpace= {};

然后以您喜欢的任何方式使用它。 与函数一起使用

MySpace.show();
MySpace.hide();

给它赋值

MySpace.value=1;
MySpace.value=2;

不同的处理方式

MySpace.rowCount = 10;

是的,有时在窗口对象上定义它是一个好主意,某些情况下需要其他定义方式。

你可以走了!

【讨论】:

    【解决方案2】:

    我需要存储需要全局访问的行数的值

    如果您必须必须在全球范围内,那么您当然可以将其放在window 上。最大的担忧是命名MySpace 冲突。

    重新思考

    但是,您可能不需要全局使用它,实际上您应该使用模块。

    【讨论】:

    • "最大的担忧是命名 MySpace 冲突。" - 你能详细说明一下吗?
    • 如果其他人决定使用相同的名称(称为MySpace),您将遇到命名冲突
    • 我用不同的方法更新了原始帖子。非常感谢您的意见。谢谢。
    猜你喜欢
    • 2022-09-25
    • 2014-06-18
    • 1970-01-01
    • 2023-03-25
    • 2021-08-18
    • 1970-01-01
    • 2020-10-03
    • 2020-06-06
    • 1970-01-01
    相关资源
    最近更新 更多