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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 最近几天对 redux 的中间件进行了一番梳理,又看了 redux-saga 的文档,和 redux-thu...
    Srtian阅读 33,862评论 9 40
  • 思考 我们在 Redux 异步 Action 中经常使用这种写法: 而正常的 Action 就看起来好像应该是这样...
    7revor阅读 578评论 0 0
  • 看到这篇文章build an image gallery using redux saga,觉得写的不错,长短也适...
    smartphp阅读 6,354评论 1 29
  • Redux作为一个应用状态管理工具,自身和应用框架没有耦合。理论上我们可以将Redux应用到任何应用中,这也是本文...
    ronniegong阅读 965评论 1 6
  • 儿科专家严大夫说宝宝胆红素高需要转儿科治疗并且家长不能陪护的时候,宝宝爸爸去抱了抱宝宝,难过地说就见不到宝宝了。那...
    王小蜗阅读 301评论 0 0

友情链接更多精彩内容