我对使用关系数据和潜在的大型数据集正确构造Redux存储存在一些疑问。
在Redux中,我读到状态应该像这样标准化:
{
posts : {
byId : {
"post1" : {
id : "post1",
author : "user1",
body : "......",
comments : ["comment1", "comment2"]
}
},
...
},
comments : {
byId : {
"comment1" : {
id : "comment1",
author : "user2",
comment : ".....",
},
...
}
},
...
}
像数据库一样构造状态是有道理的,因为它允许在状态中仅表示一次数据,随后只能通过id来获取。
但是,我有一些不确定的问号,我无法在线找到这些答案。
1。您应在该州存储多少数据?
我认为您不会存储所有内容。即使有成千上万的记录,对吗?
多少钱太多了?什么时候需要担心数据太多?
2。您应该如何限制客户端上加载的数据来构造Redux状态?
例如,如果您仅加载前100条评论和帖子并将其存储在状态中,但是post23
拥有comment221
,而当前则不在该状态。
当帖子组件必须通过注释列表进行映射以从状态显示给用户时,您将如何处理?
3。如何使用React组件构造数据并处理缓存/更新?
反应组件应从Redux状态加载,更新和缓存数据。这意味着这些组件应该知道Redux状态的一部分。
何时加载数据?缓存后应如何处理?以及如何更新状态的某些部分,以使这些更改将反映在应用程序中可能已经加载和缓存了数据的其他部分中?
结论
之所以问这个问题,是因为我需要构建一个可扩展的应用程序,而我目前的结构根本没有效率。
我想真正了解如何最佳地使用Redux为其实际构建的内容,以及如何以有效且可扩展的方式将其与React结合。