⌛
[flutter]便利なlive templates、スニペット集
はじめに
flutterのスニペット紹介です。
Riverpod(Provider) + StateNotifierの構成だとよく使いそうなものを上げています
環境
バージョン | |
---|---|
flutter | 1.22.1(MacOS) |
state_notifier | 0.6.0 |
flutter_state_notifier | 0.6.1 |
freezed | 0.12.1 |
freezed_annotation | 0.12.0 |
flutter_riverpod | 0.11.1 |
live templates
StateNotifier + freezed
freezedで状態クラス作ってStateNotifierも一緒にくっつけてる方へ
import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:state_notifier/state_notifier.dart';
part '$FILE_NAME$_state.freezed.dart';
abstract class $CLASS_NAME$State with _$$$CLASS_NAME$State {
const factory $CLASS_NAME$State({}) = _$CLASS_NAME$State;
}
class $CLASS_NAME$StateNotifier extends StateNotifier<$CLASS_NAME$State> {
$CLASS_NAME$StateNotifier() : super(const $CLASS_NAME$State()) {}
}
ConsumerWidget
RiverpodでConsumerWidgetを使う方へ
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/all.dart';
class $CLASSNAME$ extends ConsumerWidget {
Widget build(BuildContext context, ScopedReader watch) {
return Container();
}
}
Data class
firestoreからとってきたデータをfreezedでデータクラスにしている方へ
これにfromSnapshot factoryコンストラクタやtoMapメソッドをつけるといいと思います
import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part '$FILE_NAME$.freezed.dart';
abstract class $CLASS_NAME$ implements _$$$CLASS_NAME$ {
const factory $CLASS_NAME$({}) = _$CLASS_NAME$;
const $CLASS_NAME$._();
}
Singleton
シングルトンクラスを作成している方へ
class $CLASSNAME$ {
factory $CLASSNAME$() => _instance;
$CLASSNAME$._internal();
static final _instance = $CLASSNAME$._internal();
}
おわりに
どれも大した記述量ではありませんが、多少時間節約はできると思います。お役に立てたなら幸いです。
なにか間違い、アドバイスがございましたらコメントにお願いします
Discussion