做外国网站,外国网站开发,关键词列表,广州小程序开发公司哪家好文章目录 知识回顾使用方法示例代码 我们在上一章回中介绍了
组件之间共享数据相关的内容#xff0c;本章回中将继续介绍该内容.闲话休提#xff0c;让我们一起Talk Flutter吧。 知识回顾
我们在前面章回中介绍了全局共享数据相关的内容#xff0c;当时介绍了获取共享数据… 文章目录 知识回顾使用方法示例代码 我们在上一章回中介绍了
组件之间共享数据相关的内容本章回中将继续介绍该内容.闲话休提让我们一起Talk Flutter吧。 知识回顾
我们在前面章回中介绍了全局共享数据相关的内容当时介绍了获取共享数据的三种方法本章回将介绍其中的一种方法使用Provider类获取共享数据。
使用方法
使用Provoider的of()方法可以获取到共享数据类型的对象然后就可以使用共享类型提供的getter方法获取对象中的共享数据。不过使用该方法还有一些细节需要说明详细如下
of()方法是泛型方法需要指定类型这个类型需要指定为共享数据的类型of()方法的第一个参数是BuildContext类型因此需要在组件的build()方法中运行of()方法of()方法的第二个参数是命名参数listen,它是布尔类型的可选参数默认值为trueof()方法的第二个参数可以用来优化组件性能因为可以通完它用来控制是否监听共享数据变化发出的通知
介绍完Provider类的使用方法后我们通过具体的代码来演示它的使用方法.
示例代码
class WidgetA extends StatelessWidget {const WidgetA({super.key,});overrideWidget build(BuildContext context) {print(builder of Widget A running);///监听器设置为false时不会更新共享数据更不会更新整个组件当前build方法不会被回调return Text(Widget A data:${Provider.ofViewModel(context, listen: true)._data});// return Text(Widget A data:${Provider.ofViewModel(context,listen: false)._data});}
}在上面的代码中把Provider和of()方法封装到了一个独立的组件中一方面可以减少代码的耦合另一方面可以给of()方法传递BuildContext类型的参数代码中在使用of()方法时指定了泛型的类型ViewModel。它是共享数据的类型详细的定义可以参数上一章回的示例代码。
看官们关于全局共享数据之Provider相关的内容就介绍到这里欢迎大家在评论区交流与讨论!