Redux:
- redux是一个专门用于做状态管理的JS库
- 可以在react,angular,vue等项目中,但基本与react配合使用
- 作用:集中式管理react应用中多个组件共享的状态
Redux适用场景:
- 某个组件的状态,需要让其他组件可以随时拿到(共享)
- 一个组件需要改变另一个组件的状态(通信)
- 总体原则:能不用就不用,一般用于复杂项目中
Redux工作原理:
(1)action
- 动作的对象,将要改变的状态包装成一个对象
- action对象包含2个属性,type标识属性,值为字符串(唯一,必填);data为数据属性,值为任意类型,可选属性
- 例:{type:'ADD_student',data:{name:'xxx',age:18}}
(2)reducer
- 用于初始化状态,加工状态
- reducer为纯函数,加工时,根据旧的state和action,产生新的state
(3)store
- 将state,action,reducer联系在一起的对象