edux解决了什么痛点(edux工作原理)
导语:Redux的理解
Redux是javascript状态容器,提供可预测化的状态管理
核心概念
更新state中的数据,需要一个action,action就是一个javascript对象用来描述发生了什么
reducer是一个接受state和action并返回新的state的函数
Action
action只是描述了有事情发生的,并不能描述如何更新state
action本质是javascript普通对象,包含两个属性
type:字符串类型,表示将要执行的动作
xxx:数据,任意类型,可选属性
调用aciton创建函数,会触发一个dispatch
const increment = (number) => ({type: &39;, data: number})
dispatch(increment())
store里直接通过store.dispatch( )调用dispatch方法
Reducer
Reducer指定应用状态的变化如何响应actions并发送到store
注意:不要在reducer里做以下操作
1. 修改传入参数
2. 执行有副作用的操作,如API请求和路由跳转
3. 调用非纯函数,如Date.now()
4. 不要修改state
5. 在default情况下返回旧的state
reducer
function todo(state,action){
return state
}
每个reducer只负责全局state中它负责的一部分,每个ruducer的state参数都不同,分别对应它管理的那部分state数据
Store
Store是把它们联系到一起的对象。
Store的职责:
1. 维持应用的state
2. 提供getState()方法获取state
3. 提供dispatch(action)方法更新state
4. 通过subscribe(listener)注册监听器
5. 通过subscribe(listener)返回的函数注销监听器
Redux应用中只有一个单一的store
web前端之二叉搜索树
web页面重构如何操作
Webpack优化构建速度
Webpack优化构建速度
本文内容由快快网络小熊创作整理编辑!