Flutterやろうよ!!! 5 (495レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
145: (ワッチョイ 9767-1+BE) 2024/06/16(日)08:39 ID:u7far7aY0(1/2) AAS
>>139
import 'dart:async';
class A {
A(this.str){
sc.add(str);
}
String str;
StreamController sc = StreamController()..stream.listen((newValue){
print(newValue);
});
void setAndNotify(String str){
this.str = str;
sc.add(str);
}
}
Future<void> wait() async {
await Future.delayed(Duration(seconds: 1));
}
void main() async {
final a = A('test');
await wait();
a.setAndNotify('test2');
await wait();
a.setAndNotify('test3');
await wait();
a.setAndNotify('test4');
}
Dart標準機能のStreamControllerで変更通知してますよね?
UI側はStreamBuilderが用意されているのでそれで変更検知できますよね。
Dart自体に用意されてないのにDartのサードパーティパッケージでできました、とか無いじゃん。
中を覗いたらDartでやってるんでしょ?
147: (ワッチョイ 9767-1+BE) 2024/06/16(日)10:27 ID:u7far7aY0(2/2) AAS
>>146
StreamControllerで変更「通知」してますよね?
と書いてますよね?
StreamBuilderでもできるしsetStateを使っても「UIへ変更の通知を伝える」ことはできる。
「変更がUIに反映されること」を「変更検知」と言いますよね?
StreamControllerの他にChangeNotifier+setStateでもUIに変更を反映できる。
これもDart標準機能。
どこまでいってもDart自体に用意されてないのにDartのサードパーティパッケージでできました、とはならない。
Dartは中身を見ることができるから読めばわかる。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s