新手小白,第一次编写,就是简单的理解一下我眼中的Redux,也当保留一下笔记。
具体的讲解可以参考文档:Redux 中文文档
Redux是一个状态管理工具,用来管理应用中的数据。
在使用Redux的应用中,所有的state都以一个对象树的形式存储在单一store中,唯一改变state的办法是触发action,action如何改变state树,则需要编写reducers。
核心:
store:store是一个JavaScript对象,store的作用是连接 actions 和 reducer ,它保存了整个应用的state。
· Redux应用只能有一个store
· 允许通过getState()访问state数据
· 通过dispatch(action)改变state
· 通过subscribe(listener) 注册回调函数,监听state改变
Action: action把数据从应用传递到了store,它是store数据的唯一来源,通过dispatch()将action传到了store。action就是一个单纯的包含type,payload的对象。 type是一个常量,可以自己定义,用来表示动作类型。payload是这个动作携带的数据。 action必须提供一个type属性,表示当前动作的标识。
Reducer:reducer指定了应用状态的变化如何响应actions并发送到store的,action只是描述了有事情发生了这一事实,并没有描述应用如何更新state,更新state的函数成为reducer,它是一个纯函数,接收旧的state和action,返回新的state
reducer也就是根据action行为,执行相应的逻辑操作,更新state。reducer有两个参数,第一个参数表示状态(数据),要给初始状态设置默认值,第二个参数表示action行为。
reducer以上就是我对redux的理解,不足之处,多多指教
网友评论