Redux

最近看Redux,总结了一些想法,欢迎大家交流

流程

(1)view直接触发dispatch;
(2)将action发送到reducer中后,根节点上会更新props,改变全局view。
(3)redux将view和store的绑定从手动编码中提取出来,放在了统一规范放在了自己的体系中。
(4)而在基本的redux流程中,action只是充当了一个类似于topic之类的角色,reducer会根据这个topic确定需要如何返回新的数据;数据的结构处理也从store中移到了reducer中。

一些概念理解

(1)createStore创建一个新的store来存放所有的state。

createStore需要传递进来两个参数,第一个参数是reduxer,这是一个function,里面有两个参数,分别是当前的state树和要处理的action;第二个参数initalState,即初始时的state,可以从服务器中传入。

返回一个store,这个store保存了所有的state。改变state的方法是dispatch。然后可以通过subscribe监听变化。
(2)getState 获取当前的state树型数据。获取的数据与做后一次reduer发生改变相同。

(3)dispath是触发state变化的唯一途径。dispath会使用getStore()获取当前state,和传入的action调用store的reduce进行更改匹配,返回一个新的state。这就成为了 getState的返回值,同时变化监听器(change listener)会被触发。

(4)subscribe添加一个变化的监听器,每当 dispatch action 的时候都会执行的回调,state树的一部分会发生变化。大多数情况下,不直接使用,需要与react库配合。

稍后更新

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、什么情况需要redux? 1、用户的使用方式复杂 2、不同身份的用户有不同的使用方式(比如普通用户和管...
    初晨的笔记阅读 6,228评论 0 11
  • http://gaearon.github.io/redux/index.html ,文档在 http://rac...
    jacobbubu阅读 80,277评论 35 198
  • 前言 本文 有配套视频,可以酌情观看。 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我讨论。 文中所有内...
    珍此良辰阅读 14,096评论 23 111
  • 学习必备要点: 首先弄明白,Redux在使用React开发应用时,起到什么作用——状态集中管理 弄清楚Redux是...
    贺贺v5阅读 12,891评论 10 58
  • React 只是 DOM 的一个抽象层,并不是 Web 应用的完整解决方案。有两个方面,它没涉及。 代码结构 组件...
    珍珠林阅读 12,619评论 3 6