【问题标题】:Flutter - using rxDart BehaviorSubject with Observable for global state managementFlutter - 使用 rxDart BehaviorSubject 和 Observable 进行全局状态管理
【发布时间】:2020-09-29 09:44:16
【问题描述】:

我只是从这里尝试 BehaviorSubject 示例代码 https://fireship.io/lessons/flutter-state-management-guide/

从 pub.dev 安装了 rxdart 和 observable,但是这条线出错了

Observable get stream$ => _counter.stream;

错误:无法从函数“stream$”返回类型为“ValueStream”的值,因为它的返回类型为“Observable”。 (return_of_invalid_type at lib\models\globals.dart:54)

【问题讨论】:

    标签: flutter observable rxdart


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      Observable get stream$ => _counter.stream;
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-23
        • 2020-08-24
        • 1970-01-01
        • 2021-05-24
        • 2023-03-14
        • 2021-07-30
        • 2019-08-04
        相关资源
        最近更新 更多