redux是什么
Redux对于JavaScript应用而言是一个可预测状态的容器,提供可预测化的状态管理。换言之,它是一个应用数据流框架,而不是传统的像underscore.js或者AngularJs那样的库或者框架。
Redux最主要是用作应用状态的管理。简言之,Redux用一个单独的常量状态树(对象)保存这一整个应用的状态,这个对象不能直接被改变。当一些数据变化了,一个新的对象就会被创建(使用actions和reducers)。
redux的优点
在应用中使用Redux有如下好处:
预测
始终有一个准确的数据源,就是store, 对于如何将actions以及应用的其他部分和当前的状态同步可以做到绝不混乱。
维护
具备可预测结果的性质和严格的组织结构让代码更容易维护。
组织
对代码应该如何组织更加严苛,这使代码更加一致,对团队协作更加容易。
测试
编写可测试代码的首要准则就是编写可以仅做一件事并且独立的小函数。Redux的代码几乎全部都是这样的函数:短小、纯粹、分离。
服务端渲染
可以带来更好的用户体验并且有助于搜索引擎优化,尤其是对于首次渲染。仅仅是把服务端创建的store传递给客户端就可以。
开发者工具
开发者可以实时跟踪在应用中正在发生的一切,从actions到状态的改变。
社区与生态圈
存在很多支持Redux的社区,使它能够吸引更多的人来使用。