浅入react-native使用redux

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。

初学这个,觉得网上有些文章并不那么容易看懂,这里用浅白的话简单介绍一下Redux在react-native的使用。

说白了就三个主要东西,Action,Store以及Reducer。


Action:主要用来触发一些事务改变state,平时都用setState改变状态。
Reducer:在触发上面的Action后,对Action进行处理,并返回一个新的state。

Store:每个程序有且只有一个Store,作为一个根节点管理state,很多个state等于子节点。Action和Reduce就是通过Store才能联系到一起。


直接来个事例,顺便对比一下用传统的setState方法和使用Redux来控制state的区别

先来搭配一下Redux环境

npm install --save redux 【redux的包】

npm install --save react-redux  【react-redux是redux需要依赖的包】

npm install --save redux-thunk   【redux-thunk是用来让redux有异步的action事务】


先看工程的目录结构,有三个文件夹,就是上述三个东西。。。。。


Store留在最后才说,因为这是其他两个连接的对象。


这三个东西的流程是这样的,

1.Store不用多说,都是拷贝一份代码完事。然后把store的绑在根页面的属性内。

2.Reducer,先建一个索引的文件作为绑定Reducer的(也是拷贝的功夫),然后就可以写多个Reducer了。Reducer是通过Action分发过来的action,找到合适类型的Reducer,Reducer的逻辑代码就会生成新的一个state,最后return给Store。

3.Action,给页面触发用的,当页面绑定好connect,就可以通过props获取【dispatch分发器】和【Store管理的state】,dispatch分发器在页面使用:(1)事件会传到Action。(2)Action里再用dispatch分发到Reducer。(3)Reducer已经绑定了Store,只要return一个state给Store,Store就会把新的state替换旧的。

4.从以上三步可以看出,这三个东西的运作流程,但会有点模糊,我看很多贴的时候都会有这个疑问,我现在很熟悉redux的原理了,我到底怎么统一管理state呢?回顾一下这里第1点,Store是要绑在根页面的,因此我们可以获得Store管理的state。再回顾一下第2点,Reducer需要一个索引绑定多个Reducer的,因此每个Reducer返回的新的state是都得经过绑定这个索引的。最后回顾第3点,页面获得Store管理的state。综合以上分析,根据Reduc

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值