https://medium.com/flutter-community/why-use-rxdart-and-how-we-can-use-with-bloc-pattern-in-flutter-a64ca2c7c52d
RxDartの全体像を掴みたいと思い、上記サイトのサンプルを動かそうとしたのですが、
class CounterBloc { int initialCount = 0; //if the data is not passed by paramether it initializes with 0 BehaviorSubject<int> _subjectCounter; CounterBloc({this.initialCount}){ _subjectCounter = new BehaviorSubject<int>.seeded(this.initialCount); //initializes the subject with element already } //Observable<int> get counterObservable => _subjectCounter.stream; ValueStream<int> get counterObservable => _subjectCounter.stream;//←この部分 void increment(){ initialCount++; _subjectCounter.sink.add(initialCount); } void decrement(){ initialCount--; _subjectCounter.sink.add(initialCount); } void dispose(){ _subjectCounter.close(); } }
ゲッターcounterObservableの型宣言なんですが、記事のサンプルでは
Observable<int>
型で宣言されているのですが、android studioで動かそうとすると赤い波線(エラー)が出ます。
//エラー内容 Undefined class 'Observable'.
//pubspec.yaml dependencies: rxdart: 0.25.0 //main.dart import 'package:rxdart/rxdart.dart';
pubspec.yamlファイルでの依存関係の宣言と、上記のインポート文の記述はしています。
ソースコードを見ると_subjectCounter.streamの返り値が
ValueStream<int>
型のようなので、ValueStream<int>型で宣言するとエラー出ずに動きました。
ただネットのほとんどの記事でObservableクラスが使われているのですが、
最近変更された、ということなんでしょうか。
もうObservableクラスは使えないんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/24 08:14