【发布时间】:2018-01-23 03:38:39
【问题描述】:
假设您有一个使用 Redux 并具有一些功能的图书应用程序:
- 买书
- 有书籍的愿望清单
- 维护您拥有的图书列表
- 向朋友发送推荐
- 审阅书籍
现在让我们假设所有这些不同的模块,并且所有这些模块的一个共同功能是搜索书籍的能力(即搜索要购买的书籍、要添加到愿望清单的书籍、要评论的书籍等)。
这些搜索结果将存储在状态树的多个切片中。
状态树的示例可能如下所示:
{
bookStore: {
booksSearchResults: [],
...,
},
wishlist: {
booksSearchResults: [],
...,
},
reviews: {
newReview: {
booksSearchResults: [],
...,
},
...
},
...
}
在管理此类事情方面是否有任何最佳做法?拥有一个booksSearch 状态切片并通过共享组件进行管理是不是很简单?
如果您可能需要在同一屏幕上的多个位置搜索书籍(即,除了应用程序主要部分中的搜索组件之外,您可能在导航栏中具有自动完成搜索功能)?
是否有另一种方法可以重用搜索逻辑并以某种方式更新状态的不同部分(如果是,是否存在实现此目的的方法)?
【问题讨论】:
标签: architecture redux