开始前,必须知道一些事情:
- redux 和 react 没有关系,redux 可以用在任何框架中,忘掉 react。
- connect 不属于 redux,它其实属于 react-redux。
- 请一定先忘记 reducer、store、dispatch、middleware 等等这些名词。
- redux 是一个状态管理器。
状态机
状态机提出“状态”(state)和“操作”(action)的概念,
一个应用或者一个功能可能会处于不同的状态。
一个状态在进行操作后,可能会变到其他的状态,也可能维持当前状态不变。
按照状态机去理解和分析一个应用,会更清晰,有条理,而不会有无从下手的感觉。开发者只需要找出应用都有哪些状态和哪些操作,在进行某个操作时候,状态是如何变化的,就能实现这个应用了。
为什么需要状态机
对于复杂项目,组件通信会变得非常复杂、且难以维护,例如多层组件嵌套,最外层组件和 最里层组件要实现通信,如果安装父子传参的方式进行通信,则势必会导致效率低下、且增加维护成本,而状态机redux则对此提供了完成的解决方案,在redux里面我们只需要建立一个公共的store用户存放组件公共组件(或者任意你想存入的数据),然后所有要使用数据的组件只需直接使用该store中的数据即可。
