在React里,我们知道对于状态的管理分为三种方式

在第三方库的选择中,主流的方案有如下三种

本篇文章就准备先聊聊redux,废话不多说,开搞!

9eefec80020b4a2b988914415c44ef05_tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp

何为redux

redux是 javaScript应用的状态管理库,提供 可预测化 的状态管理

redux本身不与react绑定,它可以与任意界面库搭配

1768bb83868a4c2088c23b8450aabb74_tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp

redux里的核心要素

在redux里,存在三个核心要素

05e8d5935f9c446cb64badbef0f191cf_tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp

redux里的三大原则

单一数据源

整个redux应用必须 只有一个 store

state是只读的

在redux的应用中,如果我们想更改state,只能通过 dispatch一个action 的方式来实现,而 不能 直接做修改,这样的设计保证了应用程序的变化是可预测的

reducer必须是纯函数

redux为了使状态修改的过程更加直观且易测试,把reducer设计成了 纯函数,这样我们可以能更加方便且安全地组合使用reducer,而不用担心额外副作用的产生

redux的优势与劣势

在我自己的使用过程中,redux的优势和劣势非常明显,首先列举下优势

劣势如下

结语

redux的流行必然有它自己的原因,但随着react版本不断迭代升级,这种繁琐的工具是否还适合未来的项目,这是未知的,但技术本身没有好坏之分,只有合适与不合适,真正的关键在于我们对于项目本身的认知与分析,好啦,就到这啦,over!