觉得redux的store应该是很薄的一层,里面不应该放太多状态,只应该放一下需要跨页面共享的状态就行了,例如user等公共信息。各个模块的状态,最好不要放在Store中,就是不使用它的modules这个功能。模块各自的状态就直接用api拉取来更新自己的state就行了,感觉这样维护起来更方便一些。一是减少书写代码量,二是状态比较集中,看起来也方便,三是用webpack进行codesplit也方便,不会造成Store.js很大的问题。本人一直觉得redux被滥用了,其实没有那么多场景要用它,不是吗?
2 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
即便状态只在一个模块使用,但放在全局store还是有一些好处的。例如:一个页面,数据在页面的话,每次进入页面都要向后台取数据,有一个加载时间。如果放在全局的话,就可以在加载时先显示之前的数据,用户体验会好一些。另外,如果需求变化频繁,指不定哪天就要在其它地方用到这些数据,放在全局拓展性会更好。不过,具体放哪还是看需求吧。
HUX布斯
TA贡献1876条经验 获得超6个赞
我自己还是比较支持你的这种观点。对于不会共享到的数据,就没有必要去为了存它写一堆reducer,action。否则会把store搞得越来越臃肿。但是,将数据存到store中有个好处,就是使你的组件更专注于交互层。数据层交给redux处理,组件内做的只是请求数据、展示从store中取得的数据,不必自己在做额外的存储多余state的工作,遵循了stateless的原则。这使你的应用分层更清晰。见仁见智吧,我比较支持你的观点。
添加回答
举报
0/150
提交
取消