Flutter 使用fish_redux示例说明记录
2019-06-05 本文已影响0人
livesxu
上面是对于结构的介绍,下面是我的简单理解:
Redux:
Action: 一系列操作,表达发生了什么
Reducer: action,state => newState 纯函数,无副作用
改变状态,表达
Store: 获取state,更新state,监听
执行
fish_redux:
Effect:处理来自视图的意图
如点击事件,发起异步请求,这些有副作用的操作。
Go:
1.fish_redux看起来类很多,瞬间就泄气了一半,那么先把模板搞定;
Android Studio -> Preferences -> Plugins
![](https://img.haomeiwen.com/i2063662/b065cbd43aa71ad8.png)
![](https://img.haomeiwen.com/i2063662/3c130ea082a3a270.png)
2.使用简介:
a.先看state里面,要加载页面,那么肯定需要一个数据源,所以创建一个List datas
![](https://img.haomeiwen.com/i2063662/2930e4b7fe1bfde9.png)
b.接着,获取数据并处理数据,进入effect,使用Lifecycle.initState 映射一个函数,在获取数据之后,那么就要更新state,使用dispatch指定一个定义过的action
![](https://img.haomeiwen.com/i2063662/8b8235ca741dfee9.png)
c.在action里面定义了事件枚举,使用payload可以传值
![](https://img.haomeiwen.com/i2063662/679814793ba1bf3f.png)
d.reducer里面对于action事件映射函数,更新返回新的state
![](https://img.haomeiwen.com/i2063662/57f69fbf6e0fa3e1.png)
e.view如果有事件要执行则使用dispatch指定一个定义过的action
![](https://img.haomeiwen.com/i2063662/50477ee5ec2cbba6.png)
在b中跳转页面的初始赋值在initState可获取到
![](https://img.haomeiwen.com/i2063662/cae4c05fc14c1c2a.png)
3.简单总结:
动作由需求触发,定义在action,属性在state,监听和操作在effect,effect通过传送动作在reducer中更新state。