Flutter状态管理学习手册(二)——Redux

本文详细介绍了Flutter中如何使用Redux进行状态管理,包括Redux的基本概念、在Flutter中的实现方式,以及通过一个实例展示了创建Store、State、Action、Reducer和Middleware的过程。文章强调了Redux在大型项目中的优势,但也指出其可能存在的复杂性和与组件化冲突的问题。

上一篇讲到了一个简单的状态管理架构—— ScopedModel , 当然,这种简单的架构会用在商业项目中的概率比较小,本篇则讲述另一个架构: Redux ,一个优雅且实用的状态管理框架。本篇 Demo 地址:https://github.com/windinwork/flutter_redux_app

一、Redux 的准备工作

Redux 的概念源于 React,对于不是从事前端工作或者没有接触过 React 的人要理解 Redux 会比较繁复。对于不了解 Redux 的小伙伴,这里有两篇很不错的文章介绍了 Redux 的概念和相关知识:

Redux 入门教程(一):基本用法

Redux 入门教程(二):中间件与异步操作

二、Redux的概念

学习后 Redux 可以了解到,Redux 主要由涉及下面几种概念:

  • Store,是保存数据的地方。整个应用只能有一个 Store 。Store 有十分重要的方法 dispatch(action) 来发送 Action。
  • State,是某个时间点的数据快照, 一个 State 对应一个 View。只要 State 相同,View 就相同。
  • Action,是 View 发出的通知,通过 Reducer 使 State 发生变化。
  • Reducer,是一个纯函数,接受 Action 和当前 State 作为参数,返回一个新的 State。
  • Middleware,中间件,它的操作在发出 Action 和执行 Reducer 这两步之间发生,用于增加额外功能,如处理异步操作或者打印日志功能等。

Redux 的工作流程如图所示,先用户发出 Action ,Store自动给 Middleware 进行处理,再传递给 Reducer , Reducer 会返回新的 State ,通过 Store 触发重新渲染 View。这里的 View 在 Flutter 中以 Widget 的形式存在。

以上这部分是 Redux 的内容,比较容易理解。

三、Flutter中Redux的使用

在 Flutter 中,我们除了引入 redux 第三方库之外,还要引入 flutter_redux 第三方库 ,并且,为了对异步操作有更好的支持,还要引入 redux_thunk 库作为 Middleware ,对 thunk action 有更好的支持。

下面来了解 flutter_redux 中的概念。

  1. StoreProvider ,是一个基础 Widget ,一般在应用的入口处作为父布局使得,用于传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值