Mat*_*123 7 dart flutter flutter-provider
我正在查看 flutter 网站上的以下代码:
void main() {
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (context) => CartModel()),
Provider(create: (context) => SomeOtherClass()),
],
child: MyApp(),
),
);
}
Run Code Online (Sandbox Code Playgroud)
我想知道,Provider 和 ChangeNotifierProvider 有什么区别?
谢谢!
Nas*_*sky 10
从提供程序包文档(一路向下):
提供者:提供者的最基本形式。它接受一个值并公开它,无论值是什么。
ListenableProvider:Listenable 对象的特定提供者。ListenableProvider 将侦听对象并要求依赖它的小部件在调用侦听器时重建。
ChangeNotifierProvider:ChangeNotifier 的 ListenableProvider 规范。它会在需要时自动调用 ChangeNotifier.dispose。
因此,ChangeNotifierProvider是一种特定类型,Provider它会在该对象更新时侦听该对象并重建其依赖的小部件。此外,它会dispose在需要时自动调用该方法。
该Provider是通用的供应商,没有任何更复杂的功能,是非常像一个优化的继承的Widget。
提供者
提供者是最基本的提供者小部件类型。您可以使用它为小部件树中的任何位置提供值(通常是数据模型对象)。每当值更改时,它都不会重建小部件树。它只是将模型传递给小部件树中的后代小部件。
ChangeNotifierProvider
ChangeNotifierProvider,是ListenableProvidermade for 的一个子类ChangeNotifier。它监听模型对象的变化。每当ChangeNotifier.notifyListeners被调用时,它都会重建依赖小部件。
| 归档时间: |
|
| 查看次数: |
4226 次 |
| 最近记录: |