首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪种将redux存储拆分为切片的策略更简洁?

哪种将redux存储拆分为切片的策略更简洁?
EN

Stack Overflow用户
提问于 2019-03-29 09:19:13
回答 2查看 142关注 0票数 2

我已经看到了将redux存储拆分成切片的不同策略(每个切片都有状态、缩减、操作和actionCreators),我想知道每种策略的优缺点是什么。

基于后端资源拆分

在restful世界中,后端模型被命名为资源。由于前端让用户与这些类的对象进行交互,因此我们可能会有特定于每个资源的redux切片。

示例:资源Post的切片,其状态由postsselectedPost等键组成。

按前端子模块拆分

如果您将子模块视为应用程序的独立分区,则每个子模块在rootStore中都需要有自己的名称空间。

示例:配置文件、设置和仪表板子模块的切片

按应用程序页面(或路由)拆分

每个带有路由的页面都有自己的切片。

示例:用户-设置页面、组织-设置页面、通知-设置页面、主页-设置页面

另外,我想知道是否还有其他我不知道的策略。

EN

回答 2

Stack Overflow用户

发布于 2019-04-04 23:41:21

我按资源划分数据,毕竟我们在这里讨论的是数据,我们只需要知道数据作用域。它不需要知道哪个页面正在使用它,因为这些数据可以在一对多的关系中使用。

这样,当你需要数据时,你只需要考虑你需要的数据,没有其他的,所以你给出的第一个选择是最好的选择,其他的选择都是很麻烦的。Redux允许您访问全局作用域状态。如果你通过路由或模块来管理它,那么你现在需要记住哪个路由或模块正在使用什么数据来检索它,这会给你的应用程序增加一个额外的复杂性层。

票数 1
EN

Stack Overflow用户

发布于 2019-04-04 22:34:01

除了您在这里指出的策略之外,我不知道其他策略。然而,我遵循的策略是您在下面提到的前两个策略的混合。将reducers划分为BE资源和FE子模块的原因非常简单,因为它们都形成了功能的状态。

如果我理解正确的话,那么您不应该完全依赖BE资源来确定管理特性状态的策略,因为您需要内部灵活性来控制组件状态(标志、计数器、表单值等)。因此,策略2在这里派上用场。同时,您肯定会使用流向同一组件的BE信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55409189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档