深入理解Redux

作者: 鬼魅汐 | 来源:发表于2019-07-21 21:19 被阅读0次

    新手小白,第一次编写,就是简单的理解一下我眼中的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

        本文链接:https://www.haomeiwen.com/subject/gkkhdqtx.html