边黎安 原创 Redux 理解了你就 会 公众号 会写小程序 会写android ios react~

Redux三个名词,Store,Action,Reducer

Store:
  • store是唯一的,程序中所有的state都存储在store中.store重要维持state,提供dispatch方法更新state,界面得以更新的源头就在组件调用dispatch
Action:
  • action描述用户做了哪些操作。比如用户进入界面要请求网络了,下拉刷新了,上拉加载了等等等这一些列操作,它会有一个ActionType(名字随意起的,就是一些列常量用于区分用户的哪种操作)进行分门别类。
    Reducer
  • reducer处理如何更新state,本身就是个函数。通过旧的state和action来返回新的state从而更新界面

分析程序


  • 和明显代码结构中多出来三个文件,我们下面会跟据store,action,和reducer这三个文件来串串流程。
首先是store

  • 代码中主要注意点第五行我们导入Provider,在第十六行通过Provider将其包裹作为程序的入口,至于配置的store就看在第六行导入的文件。 其实这两个文件写法基本是固定的开始不必纠结

这里值得注意的是第六行导入所有到所reducer集,所有的reducer编写都会统一放到index中。
其次是action

  • 其实这个actionType应该 归到常量包里面的,这个文件的意思就是一些用户操作的常量类型,比如这个GIRL_LIST请求妹子列表,再比如刷新,删除,reducer会根据类型去区分用户的action操作。

  • 这个girlAction文件就是用户的一些具体操作,就像第七行的fetchGirl方法就是一个具体的action,用户想要做的一些事,这个action会在用户girl组件中被调用,也就是说用户触发这个事件。第二十行type:types.GIRL_LIST给type赋值,也就是和action进行关联,一个type对应一个action。
再其次是reducer

  • 首先看girlReducer,有多少个模块就对应多少个reducer分类处理代码也就更简洁。第七行到第十行初始化一些初始值,比如否正在加载,初始时的数据,再看第十二行的girlReducer函数这里就是通过之前定义的actionType去处理action返回结果更新state,从而更新界面。

  • 这个index文件就是通过combineReducers()将所有reducer组合到一块,这也就将所有reducer和store建立关联(看configureStore.js文件)
最后看girl.js

  • 这里就是用户触发action事件的起源

  • 这里就是就是将Gril这个组件与store相关联

这也是我练习时的一些记录和自己理解的东西,肯定有些东西理解有所偏差望指正。。。。girl代码比较多我也就不全贴出来了,具体的看DEMO吧,我已经托管到Github。

Redux三个名词,Store,Action,Reducer

Store:
  • store是唯一的,程序中所有的state都存储在store中.store重要维持state,提供dispatch方法更新state,界面得以更新的源头就在组件调用dispatch
Action:
  • action描述用户做了哪些操作。比如用户进入界面要请求网络了,下拉刷新了,上拉加载了等等等这一些列操作,它会有一个ActionType(名字随意起的,就是一些列常量用于区分用户的哪种操作)进行分门别类。
    Reducer
  • reducer处理如何更新state,本身就是个函数。通过旧的state和action来返回新的state从而更新界面

分析程序


  • 和明显代码结构中多出来三个文件,我们下面会跟据store,action,和reducer这三个文件来串串流程。
首先是store

  • 代码中主要注意点第五行我们导入Provider,在第十六行通过Provider将其包裹作为程序的入口,至于配置的store就看在第六行导入的文件。 其实这两个文件写法基本是固定的开始不必纠结

这里值得注意的是第六行导入所有到所reducer集,所有的reducer编写都会统一放到index中。
其次是action

  • 其实这个actionType应该 归到常量包里面的,这个文件的意思就是一些用户操作的常量类型,比如这个GIRL_LIST请求妹子列表,再比如刷新,删除,reducer会根据类型去区分用户的action操作。

  • 这个girlAction文件就是用户的一些具体操作,就像第七行的fetchGirl方法就是一个具体的action,用户想要做的一些事,这个action会在用户girl组件中被调用,也就是说用户触发这个事件。第二十行type:types.GIRL_LIST给type赋值,也就是和action进行关联,一个type对应一个action。
再其次是reducer

  • 首先看girlReducer,有多少个模块就对应多少个reducer分类处理代码也就更简洁。第七行到第十行初始化一些初始值,比如否正在加载,初始时的数据,再看第十二行的girlReducer函数这里就是通过之前定义的actionType去处理action返回结果更新state,从而更新界面。

  • 这个index文件就是通过combineReducers()将所有reducer组合到一块,这也就将所有reducer和store建立关联(看configureStore.js文件)
最后看girl.js

  • 这里就是用户触发action事件的起源

  • 这里就是就是将Gril这个组件与store相关联

这也是我练习时的一些记录和自己理解的东西,肯定有些东西理解有所偏差望指正。。。。girl代码比较多我也就不全贴出来了,具体的看DEMO吧,我已经托管到Github。http://blog.csdn.net/u014360817/article/details/52618115
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值