Reactjs 在React/Redux多页面应用程序中,页面的初始配置数据放在何处?

Reactjs 在React/Redux多页面应用程序中,页面的初始配置数据放在何处?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,在React/Redux多页面应用程序中,页面的初始配置数据放在何处 该问题最初使用了“永不更改数据”这一短语,而不是“页面的初始配置数据”。前者是我在谷歌搜索答案时使用的词。现在重新措辞,因为“永不更改”意味着常量,数据不会更改,即使在单个页面查看期间没有更改。初始数据来自后端数据库。在我们的例子中,它被注入到JSP中,但可以在非JSP应用程序中加载ajax 我们的案例是为了进一步说明这一点: 我们有一个JavaSpring服务器,它使用JSP生成HTML和纯jQueryJavaScript。

在React/Redux多页面应用程序中,页面的初始配置数据放在何处

该问题最初使用了“永不更改数据”这一短语,而不是“页面的初始配置数据”。前者是我在谷歌搜索答案时使用的词。现在重新措辞,因为“永不更改”意味着常量,数据不会更改,即使在单个页面查看期间没有更改。初始数据来自后端数据库。在我们的例子中,它被注入到JSP中,但可以在非JSP应用程序中加载ajax

我们的案例是为了进一步说明这一点:

我们有一个JavaSpring服务器,它使用JSP生成HTML和纯jQueryJavaScript。该设置正在缓慢更新,以使用React/Redux。每个页面都是一个独立的React应用程序,以便更轻松地过渡

在其中一个页面中,我们显示了一个表和两个搜索过滤器。搜索过滤器是一个对象(id、名称对)的滴列表和一个日期选择器。对象作为列表从参考底图数据库加载。它们在单页查看期间从不更改

我们将一些初始配置数据注入JSP页面,React应用程序通过
window.config={}
使用该页面,例如
window.config.language=“en”

目前,我们通过ajax加载这些droplist对象,并将它们放入Redux存储中。然而,它们在初始加载后不会改变。因此,我们认为最好直接将它们注入JSP,因为我们在JSP中有一个放置配置数据的位置(
window.config.droplistObjects=[]

除了一些配置项(语言)和一些特定于组件的临时状态外,几乎所有页面状态都是Redux。所有其他数据都是通过ajax加载的

我想到了几个地方:

  • Redux商店
  • 反应主要成分
  • 全局变量,如
    window.config.droplistObjects=[]
  • 其他地方

  • 我想你可能想得太多了:你已经在做的对我来说似乎很好。 这就是我如何看待这一点的:

  • 在Redux操作中从db获取数据
  • reducer更新状态
  • 容器组件将更新的状态传递给哑组件
  • 视图得到更新
  • 我看不出有什么问题。我已经用这种基本结构编写了至少4个不同的应用程序,一个使用Firebase,一个使用ruby后端


    我不确定这是否能回答您的问题,但我希望它能帮助您后退一步,更清楚地了解情况。

    您可以制作一个常量文件,将该数据导出为数组或对象,并将其导入组件内部并使用它。是的。真正的应用程序使用的不是国家。所以contants文件是不可能的。我将重新讨论这个问题以反映这一点。固定数据是否总是来自数据库?它有多大?数量大约有20-50个项目,而且总是来自数据库。我在这里寻找一个比具体案例本身更通用的解决方案/共识。我们以后可能会遇到各种情况,我希望在以某种方式承诺之前得到充分的理解。我在谷歌上搜索过这个主题,但还没有找到一种存储永不改变的数据的好方法。我不明白你为什么说“常量文件是不可能的”。这是显而易见的解决办法。谢谢,我很感激你的回答,我想你可能是对的。我发布这个问题是因为我们的项目成员对在哪里存储初始数据有不同的意见。我自己还没有强烈的意见,所以为社区汲取智慧似乎是个好主意。我会等几周,看看是否会出现替代方案。