【WIP】Riverpod使ってみた

参考資料

作成したもの

Riverpodの個人的な理解

  1. riverpodでは共有したい状態をProviderでラップする
    • providerには色々あり、その状態をどう使いたいかで使い分ける
    • 個人的には以下で解釈した
      • Provider…DIする時に使われてるイメージ(単純な値のキャッシュとかで使われてる)
      • StateProvider…プリミティブ型用のProvider
      • StateNotifierProvider…複雑な処理をするためのProvider
      • FutureProvider…非同期処理を使える
      • StreamProvider…Stream処理を使える
    • FutureProviderは更新を伴わないものに対して使って、更新処理とかはいる場合はStateNotificationProviderAsyncValueを返せばいいと思っています
    • またProviderでDIしまくっているサンプルがあり、以下の感じでテストとかで使えそう(要検証)
  2. ラップしたものはrefで参照する
    • watch…変更の監視
    • listen…変更時に任意の関数を実行
    • read…値の取得のみで変更監視はしない
  3. Stateで保持するエンティティはfreezedで不変にする

今後検証したいこと

  • MVCチックなアーキテクチャの実装(以下の機能実装してみる)
    • ログイン
    • リスト表示
      • 新規作成・更新・削除あり
    • Riverpodを用いたテスト