Open6
Flutterメモ
Widgetのbuild後に行う処理を行うメソッド
WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {});
親Widgetを取得する
final homeScreen = context.findAncestorWidgetOfExactType<HomeScreen>();
画面遷移を検知する
with RouteAwareをわすれない
final routeObserver = RouteObserver();
MaterialApp(
...
navigatorObservers: [routeObserver],
...
);
@override
void didChangeDependencies() {
super.didChangeDependencies();
routeObserver.subscribe(this, ModalRoute.of(context));
}
@override
void dispose() {
routeObserver.unsubscribe(this);
super.dispose();
}
HookWidgetでdisposeを呼びたいときはuseEffectを使う
TextButtonの文字色を変えるときはstyleのprimaryに色を設定する。
Freezedメモ
When
var model = Model.first('42');
print(
model.when(
first: (String a) => 'first $a',
second: (int b, bool c) => 'second $b $c'
),
); // first 42
MaybeWhen
var union = Union(42);
print(
union.maybeWhen(
null, // ignore the default case
loading: () => 'loading',
// did not specify an `error` callback
orElse: () => 'fallback',
),
); // fallback