flutter : Is provider an alternative to the BLoC pattern?

标签 flutter bloc flutter-provider

我知道 flutter 中的 BLoC 的作用类似于 android MVVM 中的 viewmodel 层,因此在配置更改(例如:屏幕方向更改)时不会一次又一次地获取数据。

我很困惑如果 provider替换 BLoC 模式中 RxDart 的功能,或者替换 BLoC 模式本身的角色。

此外,如果我根本不使用 BLoC,那么应用程序是否可以在配置更改后继续存在。

请通过一些用例解释提供商相对于 BLoC、RxDart 组合的限制。

最佳答案

Provider 本身并不能取代 BLoC 模式。但是,您可以将架构设置为以替代 BLoC 模式的方式使用 Provider。

一种方法是使用 MVVM 模式,其中您有一个 View 模型类 extends a ChangeNotifier 。然后您可以使用 ChangeNotifierProvider 来收听该 View 模型以便在 View 模型发生更改时重新构建 UI。 FilledStacks 做得很好 here .

另请参阅

我个人发现使用内置的 Flutter 工具来管理状态更容易。我在这里详细描述一下:

关于 flutter : Is provider an alternative to the BLoC pattern?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533541/

相关文章:

flutter - Flutter-文本字段中的初始值和用户输入使用不同的颜色

linux - linux上的Dart/Flutter ffi - 配置CMake的问题

flutter - 当已经通过我的主屏幕上下文关联了一个类时,如何通过我的主页回调该类?

flutter - 如何从扫描的照片中选择文本?

flutter - 在Flutter中使用Bloc/Cubit时避开CONTEXT

flutter - 全局依赖 flutter_bloc

flutter - 如何访问 showModalBottomSheet 中提供的 (Provider.of()) 值?

firebase - 用户更改时,StreamProvider监听用户的消息不会更新

flutter - 在此ModalBottomSheet小部件上方找不到正确的Provider <X>

flutter - 从Flutter中的实例获取值(value)