Jed*_*Jed 3 flutter flutter-provider
简而言之,我是 flutter 的新手,我想知道 FutureProvider 和 StreamProvider 和 ChangeNotifierProvider 之间的区别以及何时使用每一个。提前致谢。
Mil*_*iya 16
未来供应商
简而言之,FutureProvider 用于提供一个值,当小部件树准备好使用它的值时,该值可能尚未准备好。因此,FutureProvider 的主要用例是确保空值不会传递给任何小部件。Future 提供者有一个初始值,小部件可以使用该初始值,直到 Future 值得到解析。解决后,FutureProvider 将告诉其后代使用新值进行重建。
重要的是,这意味着依赖未来提供商价值的小部件只会重建一次。它将显示初始值,然后显示提供的未来值,然后不会再次重建。
如果由于某种原因未来有另一个新值,未来的提供者可以配置为再次更改。但是,如果您预计提供者会提供多个值,则您可能应该使用StreamProvider.
流提供者
StreamProvider 提供了 Streamed 值。与 FutureProvider 一样,提供的值将在传入时自动神奇地传递给提供的值的新值。主要区别在于,这些值将根据需要多次触发重新构建。
变更通知提供者
您在互联网上看到的大多数示例都使用 ChangeNotifierProvider,它也是您可能最常使用的类。该类基本上是实现 ChangeNotifier 的类的提供者包装器。
根据 Flutter 文档,ChangeNotifier 是“一个可以扩展或混合的类,它使用 VoidCallback 进行通知提供更改通知 API”。实际上,其他对象可以侦听 ChangeNotifier 对象。而且,当更改通知程序获取更新的值时,它可以调用名为“notifyListeners()”的方法,然后它的任何侦听器都将通过操作进行响应。侦听更改通知程序是通过注册回调来完成的,该回调在调用notifyListeners 时被调用。
有关示例的详细信息,您可以点击链接 FutureProvider StreamProvider ChangeNotifierProvider
| 归档时间: |
|
| 查看次数: |
4008 次 |
| 最近记录: |