Flutter状态管理系列之InheritedWidget,Notifcation,eventbus的使用和原理
文章目录 InheritedWidget 示例 构造函数传值: 继承 InheritedWidget 传值: Notification 示例 EventBus 示例 示例完整源码 Flutter是由众多widget构成的UI框架,之前的文章我们在不同的widget之间传递数据是通过构造函数传参的方式传递。如果嵌套的widget过多,这么写不免有些麻烦且层级复杂。所以Flutter还提供了其他方案来实现跨 widget 间数据的传递,下面就介绍InheritedWidget、Notification 和 EventBus这三种方案。 InheritedWidget InheritedWidget 是widget的基类,可有效地向下传播信息。 可以理解为子 widget可以在任何位置获取继承了InheritedWidget的父 widget中的数据。 示例 示例中通过构造函数和继承InheritedWidget两种方式实现父 widget :FrogColor向子 widget:FColor传值。 构造函数传值: 继承 InheritedWidget 传值: 首先定义一个类FrogColor继承InheritedWidget,并在构造方法中传递数据和方法:model 和 doSomeThing class FrogColor extends InheritedWidget {