react-native+redux 抛砖引玉(1)
2016-09-08 本文已影响89人
浮夸丶小强
当年看完react-native中文文档,并费劲心思创建成功第一个项目后,你也许会觉得react-native应该没啥难的,网上有那么多轮子,拿来用就好了。但是越用越觉得别人的轮子弊端太多,局限性太强,所以好多东西还得自己写,我也就是在这个时候强烈的感觉到redux对项目的关键性。
相对原生开发而言,react-native开发中并没有 $emit $broadcast 机制,那么问题来了,我想在一个页面给另一个页面发消息怎么办?其实react-native早就为我们想到了这些,那就是它自带的flux,但是网上说flux有局限性,redux更牛逼。于是看了下redux中文文档,它是 ES2015 语法,写的很详细。
redux是应用状态管理服务,根据js而来的经验,我们知道array.reduce(callback[, initialValue])同时应用一个函数针对数组的两个值(从左到右),以减至一个值。
constinitState ='0';
constactions = ['1','2','3'];
constnewState = actions.reduce(
( (prevState, action) => prevState + action ),
initState
);
给定initState之后,随着action的值不断传入给计算函数,得到新的newState,最终结果为0+1+2+3=6,如果理解这个那么对redux原理你已经了解了,接下来就是使用了。
下面介绍在react-native项目中使用redux
action、reducer、store是你不可或缺的三部分,核心就是store根据action对应reduce数据。