前端小结(react+redux+saga dva umi)
当前前端以vue和react为主,孰高孰劣不做比较,各有优缺点,vue适合糙快猛,react适合需要和其他框架组件组合才能构成强大应用
react在进入函数式组件后,越来越适合组合开发了。
react负责渲染,redux负责状态管理,saga是补充redux部分的异步调用(典型的异步调用如何远程访问)
redux内含有state,那react内的state又有什么意义呢?
react内的state是以组件为单位,无论类组件还是函数式组件,都有一个唯一的 state供组件使用(函数式组件通过useState来维护状态),如果项目内有n个展示行组件,那就有n个state
如果react配合redux使用,有些注意细节,redux内的store存储的是全局state,官方的经典案例counter实现,业务过于简单,只是代码层次的参考,如果业务复杂,state需要细分成若干个部分,每个分state 在redux内部代码层次的实现,是通过对应的reducer名字作为key来区分维护的。
在设计前逻辑时,把有相互关联需求的state迁移到一个UI组件内,如果没办法迁移,可以转入redux内维护管理
实际细节比上面还要多,为了简化操作,阿里的dva框架对此作了简化,把react redux saga都组合到了一起,通过dva的“约定”规则,简化了声明和操作,具体可以去察看dva
不过官方dva在18年维护还很多。19到20年更新记录少了,但dva仍然可以用,方便了不少
最新版的dva操作已经开始转向了umi的整合(阿里的另一企业级框架)
我在实际带队开发时,是使用的umi版的整合dva(dva作为插件存在使用的)大家可以根据自己习惯去选择
对于前端开,走react路线时,选dva能省去不少力气(新人培训等等)