在React / Redux多页面应用程序中放置页面的初始配置数据的位置?
这个问题最初有短语“永不改变数据”而不是“页面的初始配置数据”。前者是我在搜索答案时使用的词语。现在重新措辞,因为“永不改变”意味着数据不是常数,即使在单页面视图中没有改变。初始数据来自后端数据库。在我们的情况下注入JSP但它可能是在非JSP应用程序中加载的ajax。
我们的案例是为了进一步说明这一点:
我们有一个使用JSP生成HTML和普通jQuery JavaScript的Java Spring服务器。该设置正在慢慢更新以使用React / Redux。每个页面都是一个独立的React应用程序,以便于过渡。
在其中一个页面中,我们显示了一个表格和2个搜索过滤器。搜索过滤器是对象的下拉列表(id,名称对)和日期选择器。对象作为底层数据库的列表加载。它们在单页视图中永远不会改变。
我们将一些初始配置数据注入到JSP页面中,React应用程序通过
window.config = {}
使用window.config.language = "en"
。目前我们通过ajax加载这些droplist对象并将它们放入Redux存储中。但是,它们在初始加载后永远不会改变。因此,我们认为最好将它们直接注入JSP,因为我们在那里有配置数据(
window.config.droplistObjects = []
)除了一些配置项(语言)和一些特定于组件的短暂状态之外,几乎所有页面状态都在Redux中。所有其他数据都通过ajax加载。
我想到了一些地方:
window.config.droplistObjects = []
答案 0 :(得分:1)
我认为你可能会过度思考这个问题:你所做的事情对我来说似乎没问题。 这就是我看到这个工作的方式:
我没有看到任何问题。我已经用这个基本结构写了至少4个不同的应用程序,一对使用Firebase和一对红宝石后端。
我不确定这会回答你的问题,但我希望它可以帮助你退后一步,更清楚地看到情况。