【问题标题】:Correct way to load config into Redux application将配置加载到 Redux 应用程序的正确方法
【发布时间】:2017-09-14 02:43:47
【问题描述】:

我需要在我的应用程序启动之前读取 config.json 文件。 此配置包含我的后端服务的 url。这将用于 redux action-creators。

我有两种方法:

  1. 获取 json 并将数据保存到状态。而不是从状态获取网址 变成反模式的动作创建者
  2. 获取json并定义 数据作为全局变量。比我可以从我的访问全局变量 动作创造者。

我该怎么办?

【问题讨论】:

    标签: javascript reactjs webpack redux


    【解决方案1】:

    您可以考虑以下解决方案:

    • 从配置文件中获取数据,并在运行时将其结果保存在名为 config.js 的模块(单音)中
    • 在您的应用程序中导入 config.js(很可能在您委托服务器获取操作的 api 模块中)。

    IMO 这种方法的主要优点是不会污染全局命名空间,并且可以使用单独的模块保持清洁。 这种方法最适合静态或动态配置。

    老实说,不确定您的商店是否是保存配置的正确位置,因为 AFAIK 它是为维护应用程序的状态树而设计的,因此如果您的配置处于某种动态状态,则可以将其视为正确的位置。

    【讨论】:

      【解决方案2】:
      1. 我将获取 json 文件并将其定义为全局变量

        fetch('config.json').then(data => window.CONFIG = data)

      2. 如果配置文件包含一些与 UI 相关的数据,您可以在 store 中将其设置为 intialState

        常量初始状态 = { 配置:window.CONFIG }

      【讨论】:

        【解决方案3】:

        我会选择方法 2,因为它是您应用的 config 而不是 state。它在运行时不会改变。

        但我不确定您的应用是什么样子,如果您的配置确实动态更改,那么将其放入 redux 商店对我来说是有意义的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-02
          • 2018-10-21
          • 2021-12-04
          • 1970-01-01
          • 2017-04-15
          • 1970-01-01
          • 2016-07-26
          • 2011-03-23
          相关资源
          最近更新 更多