文章目录
- 概念介绍
- 实现方法
- 示例代码
- 经验总结
我们在上一章回中介绍了组件之间共享数据相关的内容,本章回中将介绍 全局共享数据.闲话休提,让我们一起Talk Flutter吧。
概念介绍
我们在上一章回中介绍了使用InheritedWidget
组件共享数据的方法,不过这种共享只限于父组件与子组件之间。本章回中将介绍一种全局共享数据的方式,这里说的全局是指在任意组件之间。我们需要借助provider
包实现全局数据共享功能,本章回中将详细介绍这方面的内容。
此外,这种共享数据的方式也叫状态管理,因为在Flutter中更新数据都是通过更新状态实现的,类似StatefulWidget
组件中的通过setState()
方法更新组件状态。
实现方法
我们首先介绍provider
包,明白包中的内容后再介绍实现共享数据的方法,provider包提供了相关的类来实现数据共享功能,主要包含5个类,下面是它们的详细功能:
- ChangeNotifier类:主要用来实现数据共享类,它的核心功能是提供notifyListeners()方法来通知其它组件更新数据;
- ChangeNotifierProvider类:主要用来把数据共享类