Flowの導入
Seo-4d696b75 opened this issue · comments
🚰 アプリの状態をFlowで保持しましょう
課題内容
- Flowの依存を
app/build.gradle
に追加 - ViewModelで保持している状態をFlowに変更
- UI側から状態の更新を購読して画面に反映する
FlowでUI状態を公開する
ViewModelが保持している状態をFlowに置き換えます。すると外部で状態の変更を検知できるため、画面に新しい状態を反映する処理(UIロジック)が容易になります。
Tip
Flowには書き込み可能な型と不可能な型がありますので、ViewModel内部で保持するFlowの型と外部に公開する型に気をつけましょう
Flowで状態の更新を購読する
Flowでラップされた状態の更新を検知して画面に反映します
Tip
Flowをcollect
する時はActivityやFragmentのライフサイクルを意識しましょう。ComposeでUIを作成した場合はcollectAsState*
APIでFlowからStateに変換します。