【发布时间】:2018-02-20 14:58:26
【问题描述】:
在我的程序中,我有多个网格,但它们非常相似,因此我决定为所有网格制作一个 reducer,以保持我的代码美观和干燥。当我调度事件以更改存储时,我将网格名称作为参数与有效负载一起发送,并且所有内容都写入该网格名称下的存储。
例如:如果我发送事件来更改目录网格的网格标题,那么商店将如下所示:(假设用户已经在商店中)
grid: {
catalog: {
headers: {
some data
}
},
users: {
headers: {
some other data
}
}
}
我的问题是如何编写模块化初始状态?目前,除了网格名称之外,我没有初始状态,因为没有它们我的代码将无法工作。当我需要将某些内容设置为初始状态时,我必须将其包含在我的函数 initializeGrid 中,该函数会调度一些事件以设置类似于初始状态的内容。
但是如果没有初始状态,我的减速器非常混乱,因为几乎在每种情况下我都必须检查是否存在某种状态或者这是第一次进入。
只知道我并不懒惰,但我的初始状态将像 300 行一样长,而且不会是 DRY :/
什么是正确的解决方案?
【问题讨论】:
-
请提供一些与您的描述相关的代码。
标签: javascript reactjs redux reducers