仕組みから理解する Riverpod
Riverpod は日本の Flutter アプリ開発において最も使われている状態管理パッケージであると言っても過言ではないでしょう。 質の高いアプリを開発する、参加できるプロジェクトを探す、参加してくれるメンバーを探すなど、いろいろな立場の開発者がさまざまなモチベーションで Riverpod を学習し、よりよい使い方を考えているのではないかと思います。 しかし、Riverpod の適切な使い方を考えるためには Riverpod の仕組みの理解が欠かせません。 Riverpod には公式ドキュメントが Web サイトとして用意されていますが、そこで説明されるのは「どのような場合にどのように使えば良いか」という視点のケーススタディー形式の情報が中心で、その仕組みに関する情報はあまり説明されない傾向にあります。 そこで本書では Riverpod のひとつひとつの仕組みを内部実装も読みながら解説することで、なぜ公式ドキュメントに書かれているような使い方が適切と言えるのか、さらには各プロジェクト固有の事情に合わせた適切な使い方を考えるためのヒントを提供できればと考えています。 なお、本書の動作確認環境は以下の通りです。 - Riverpod 2.4.9 - Flutter 3.16.5
Chapters
はじめに:なぜ Riverpod を学習するのか
Riverpod チートシート
非同期な処理を伴う状態管理と AsyncValue
autoDispose はいつ、なにを破棄するのか
内部実装を眺めて watch と listen を正確に理解する
Ref と WidgetRef の実装から考える Riverpod の適切な使い方
議論1: StatefulWidget との適切な使い分け
議論2: 命令的な状態の更新と宣言的な更新
議論3: Provider の適切な分割方法を考える
議論4: フォーム画面の設計と Riverpod
議論5: AsyncValue.when() と switch の使い分け
議論6: 公式ドキュメントの DO/DON'T 項目を理解する
議論7: 命令的に UI を更新する Widget との連携
Community
Author
フリーランスの Flutter アプリ開発者です。講師もします。 Flutter の画像切り抜きパッケージ crop_your_image を開発・公開しています。 pub.dev/packages/crop_your_image Books で「内側から理解する Flutter 入門」販売中。
Topics