12月1日 進捗日記[自分用]
作業内容
・Providerの理解
どうやらProviderを使わないと簡単にはリアルタイムにcloud firestoreとのやりとりをすることが難しそう。
とりあえず、providerの基本的な使い方をコードを使いながら理解することにした。
こちらの記事をベースに勉強させていただく。
https://blog.dalt.me/1741
以下は理解に必要だった内容
【Dart】with等の使い方基礎
参考|https://zenn.dev/iwaku/articles/2020-12-16-iwaku
withの使い方がわからなかったので調べた。以下は引用
・階層構造的な継承ではなく、追加で外付けするイメージ
・注意点として、コンストラクタは持たない
・複数指定可能 && オーバーライドしなくてよい = 処理を実装した関数置き場
Sized boxの使い方
スクロールの範囲を指定できる。
class BookshelfScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Book List'),
),
body: Center(
//スクロールの範囲を制限
child: SizedBox(
height: 200,
child: ChangeNotifierProvider(
create: (ctx) => Books(),
child: Column(
children: <Widget>[
Expanded(
child: Bookshelf(),
),
Consumer<Books>(
builder: (ctx, booksData, _) => Center(
child:
Text('totalFavoriteCount: ${booksData.favoriteCount}'),
),
),
],
),
),
),
),
);
}
}