深入理解Redux

新手小白,第一次编写,就是简单的理解一下我眼中的Redux,也当保留一下笔记。

具体的讲解可以参考文档:Redux 中文文档


    Redux是一个状态管理工具,用来管理应用中的数据。

    在使用Redux的应用中,所有的state都以一个对象树的形式存储在单一store中,唯一改变state的办法是触发action,action如何改变state树,则需要编写reducers。

    

redux工作原理图

核心:

    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的理解,不足之处,多多指教

你可能感兴趣的:(深入理解Redux)