为了账号安全,请及时绑定邮箱和手机立即绑定

请教各位一个问题,求解答:redux状态设计应该轻量化吗?怎么回事哈啊?

请教各位一个问题,求解答:redux状态设计应该轻量化吗?怎么回事哈啊?

白衣非少年 2019-07-27 00:26:00
觉得redux的store应该是很薄的一层,里面不应该放太多状态,只应该放一下需要跨页面共享的状态就行了,例如user等公共信息。各个模块的状态,最好不要放在Store中,就是不使用它的modules这个功能。模块各自的状态就直接用api拉取来更新自己的state就行了,感觉这样维护起来更方便一些。一是减少书写代码量,二是状态比较集中,看起来也方便,三是用webpack进行codesplit也方便,不会造成Store.js很大的问题。本人一直觉得redux被滥用了,其实没有那么多场景要用它,不是吗?
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

即便状态只在一个模块使用,但放在全局store还是有一些好处的。例如:一个页面,数据在页面的话,每次进入页面都要向后台取数据,有一个加载时间。如果放在全局的话,就可以在加载时先显示之前的数据,用户体验会好一些。另外,如果需求变化频繁,指不定哪天就要在其它地方用到这些数据,放在全局拓展性会更好。不过,具体放哪还是看需求吧。
                            
查看完整回答
反对 回复 2019-07-27
?
HUX布斯

TA贡献1876条经验 获得超6个赞

我自己还是比较支持你的这种观点。对于不会共享到的数据,就没有必要去为了存它写一堆reducer,action。否则会把store搞得越来越臃肿。
但是,将数据存到store中有个好处,就是使你的组件更专注于交互层。数据层交给redux处理,组件内做的只是请求数据、展示从store中取得的数据,不必自己在做额外的存储多余state的工作,遵循了stateless的原则。这使你的应用分层更清晰。
见仁见智吧,我比较支持你的观点。
                            
查看完整回答
反对 回复 2019-07-27
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信