Flutter - 使用 rxDart BehaviorSubject 和 Observable 进行全局状态管理

Flutter - using rxDart BehaviorSubject with Observable for global state management

我只是在尝试此处的 BehaviorSubject 示例代码 https://fireship.io/lessons/flutter-state-management-guide/

已安装 rxdart 并可从 pub.dev 观察到,但此行出错

Observable get stream$ => _counter.stream;

错误:无法从函数 'stream$' 中 return 编辑类型 'ValueStream' 的值,因为它的 return 类型为 'Observable'。 (return_of_invalid_type 在 lib\models\globals.dart:54)

我想 Observable class 自 Dart 2.7 以来已被弃用,其中引入了扩展方法,因此您必须使用普通 Stream class 并导入 RxDart 插件来获取RxDart 提供的不同功能。如果您想合并两个或更多流,可以使用 Rx class。我还鼓励您使用 flutter_bloc 插件,它可以很好地处理 InheritedWidget、StreamBuilder 和 Streams。

Fireship.io 视频很好地调查了 Flutter 中可用的状态管理选项。不幸的是,它有点过时了。

Observable 现在可以安全地替换为 Stream

Observable get stream$ => _counter.stream;

如果您需要合并流,请使用 Rx.combineLatest2 而不是 Observable.combineLatest2,因为后者现在已过时。