您的位置:首页 > Web前端 > React

redux在react-native中的运用

2017-02-24 14:41 676 查看

利用下班回家后的时间、周末的时间学习。因为比较喜欢记笔记,所以整理完自己的笔记,也就懒得写博客,今天有时间,一下子写三篇哈哈哈。。。

看下我自己写的笔记,字有点丑:



写一个redux运用的例子:

效果图



一、先安装内容:
1、安装插件



2、首先先写好框架
(1)第一步,后面会进行更改



(2)ReduxDemo
的代码(完整的出始化代码)











3、接下来封装redux
1)provider.js



2)在reduxDemo.js文件中
先导入应该导入的文件



创建connect
,并导出模块



3)在index.io.js中,导入provider.js的export出来的内容



4)在reduxDemo中的点按方法中,根据type不一样,执行不同的action



5)编写action.js文件



Action.js











6)创建reducer.js文件



7)在reduxDemo文件中,接收props



会重新走render方法
 
在底部数据的发生变化。重新构造数据



完成!!!


Redux的三原则
1. Single source of truth单一数据源,数据流向也是单一方向。整个应用的state,存储在唯一一个javascript对象中,同时也只有一个store用于存储这个对象.
2. State is read-only状态是只读的。唯一能改变state的方法,就是触发action操作。action是用来描述正在发生的事件的一个对象。
3. Changes are made with pure functions在改变statetree时,用到action,同时也需要编写对应的reducers才能完成state改变操作。
Store 有以下职责:

维持应用的 state;

提供 getState() 方法获取 state;

提供 dispatch(action) 方法更新 state;

接收新的state,并替换当前的state;

state变化时,store触发事件;

通过 subscribe(listener) 注册监听器的组件从store提取新的state并更新组件。
Middleware
在redux里,middleware是发送action和action到达reducer之间的第三方扩展,也就是中间层。也可以这样说,middleware是架在action和store之间的一座桥梁。如果不使用middleware的话,Redux的store只支持同步数据流。也就是每当我们dispatchaction时,state会被立即更新。同步只返回一个普通action对象。而异步操作中途会返回一个promise函数。当然在promise函数处理完毕后也会返回一个普通action对象。thunk中间件就是判断如果返回的是函数,则不传导给reducer,直到检测到是普通action对象,才交由reducer处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: