我现在正在使用Redux一段时间,我很喜欢它:)
在处理嵌套数组时,我对如何组合reducers有点困惑.我有一个用户对象,它有一个评论列表.每篇评论都可以包含review_comments列表.
{
user: {
id: 1,
reviews: [{
id: 1,
comments: [{
id: 1,
message: "Test"
}, {
id: 2,
message: "123"
}, {
id: 3,
message: "456"
}]}, {
id: 2,
comments: [{
id: 5,
message: "qwerty"
}, {
id: 6,
message: "1542354"
}, {
id: 7,
message: "45we 6"
}]
}]
}}
Run Code Online (Sandbox Code Playgroud)
现在,所有这些都在同一个UserReducer中.每次状态发生变化时,我都会在评论/评论列表中进行映射.随着数据量的增长,reducers变得更加嵌套,管理起来也很复杂.
有没有办法把它组成3个减速器:UserReducer,ReviewReducer和CommentReducer?
谢谢您的帮助.
绝对地。使用扁平结构要容易得多。
请访问https://github.com/gaearon/normalizr了解有关分割数据的想法。并在https://github.com/rackt/reselect上准备要在组件中使用的状态数据。
想法是按实体类型将实体数据拆分到多个减速器上。然后构建一个选择器 - 函数,它接受全局存储并返回一些对您来说方便的数据结构。
| 归档时间: |
|
| 查看次数: |
3573 次 |
| 最近记录: |