【问题标题】:Static Class Variables ES6静态类变量 ES6
【发布时间】:2019-11-18 17:25:50
【问题描述】:

在 ES6 中使用静态属性是个好主意吗?我的一些同事认为这是一个坏主意,但我没有很好地解释为什么会这样。

我正在构建一个 ReactJs 应用程序,我在必要时使用 redux,但是,当我想与应用程序中的所有组件共享一些数据时,我可以使用静态类属性吗?

在我的例子中,我们希望在所有组件之间共享一个名为 ThemeName 的变量的值。请注意,组件不会侦听对此变量的更改。它只是在加载时获取变量的值。

它实际上没有任何问题,但不知何故我觉得它可能是反模式,如果有的话,有人可以在这里解释这个问题吗?

【问题讨论】:

  • 嗨!请拿起tour(你会得到一个徽章!),看看周围,通读help center,尤其是How do I ask a good question?What types of questions should I avoid asking?What topics can I ask about here? 这对于SO的格式来说太基于意见了.票数接近的原因是“许多好的问题会根据专家的经验产生一定程度的意见,但这个问题的答案往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。”我>
  • “我的一些同事认为这是一个坏主意……” 我建议问问他们为什么认为这是一个坏主意,以及他们是否有进一步的资源支持他们可以指出你的观点。
  • 我做了,但正如我所说,我没有从他们那里得到正确的解释,这就是为什么我想在这里寻找答案。
  • 一般来说,当给出建议的人无法指出具体原因时,我不相信建议。 :-)
  • 你能想到一个用例,使用其中任何一个都不是一个好主意吗?没有语言/设计是完美的。编程只是从混乱中挑逗秩序的练习;有时,一些混乱会出现并出现在您的代码中。在那一点上,除了适应和改变,你无能为力。

标签: javascript reactjs ecmascript-6 redux


【解决方案1】:

将静态属性与 React 一起使用并不是一个好主意,原因如下:

  • 类属性没有被利用到 React 的生命周期中,因此除非这些属性永远不会改变,否则静态属性将太不灵活。
  • 如果从一般的类中移出,则 React 本身,所以如果您是 React 新手,我建议您根本不要使用类。您可以在official React docs 中阅读更多关于这背后的动机的信息。
  • React 与其他机制合作来完成你想要完成的事情,无论是 Redux 还是 Context

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 2012-07-03
    • 2019-06-05
    相关资源
    最近更新 更多