关于React中Redux的理解
当我们组件之间的通信变得复杂的时候,比如多层级和多个兄弟组件互相通信,我们这时候就需要一个集中式的状态管理,将我们组件之间需要共享的数据放在一起,需要的就来取或者更新,这样组件之间的数据共享就方便多了,这就是Redux,redux可以用在任何需要的地方,不仅仅是React,Vue以及其它需要的对象都可使用
原理图
其中几个概念的理解
- Action:可以理解为一个菜单,上面写着菜的类型和具体的菜,其中type为什么菜,data为菜的本身,也可以理解为要发生的动作。
- Store:可以理解为前台(服务员),帮忙传送菜单给后台(厨师),当拿到厨师(reducers)做好的菜(data或者是state)之后,等待客人来取 。
PS: 假如这个店态度很差(ಥ _ ಥ),需要客人自己取菜,服务员没有传菜的义务… - Reducers:可以理解为后台的厨师,专门负责按照菜单(action)中的描述,进行菜(state)的制作或者加工,完成之后交给服务员(Store),这里每个厨师只负责一样菜,即一个reducer对应一个action。
PS:假如这个店的厨师长都很专精,只专门做自己拿手的菜,很刁钻,有木有!( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) - Components: 与Store通信的React组件,可以理解为客人,向服务员传递菜单(action),以及去服务员那里取菜(getState)(⊙﹏⊙∥ 很累有木有!!!)