这2天看了下redux
,然后用redux
简单的重构了下自己以前写的spa
项目。
利用redux
的combineReducer
方法,slice reducer
的各种组合以及分而治
的设计,重构完后在状态管理的流程上显得非常的清晰。但是在redux
的使用上还存在着一些疑惑:
数据嵌套
状态更新
关于数据嵌套这块, 特别是服务端返回的数据嵌套比较深的情况下。我现在使用的方式是使用slice reducer
将root state
进行拆解,然后拼接。但是最后reducer
定义了很多,看清来也不是很直观,官方文档推荐了将state范式化
,但是最后的格式感觉也不是很适合。所以第一个疑惑就是在服务端返回的数据格式嵌套比较深的情况下如果对root state
进行拆解。
第二个就是状态更新。因为这个spa
也是模块化开发,没有使用mvvm
框架。在ui视图
更新这块的内容当中,当前的解决方式就是:在不同的模块当中去store.subscribe
监听state
的变化,哪个字段更新了,然后更新相应的视图。不知道这个使用姿势是否正确?
学习是最好的投资!