← ClaudeAtlas

flutter-managing-statelisted

Manages application and ephemeral state in a Flutter app. Use when sharing data between widgets or handling complex UI state transitions.
openplaybooks-dev/converge · ★ 3 · AI & Automation · score 71
Install: claude install-skill openplaybooks-dev/converge
# Managing State in Flutter ## Contents - [Core Concepts](#core-concepts) - [Architecture and Data Flow](#architecture-and-data-flow) - [Workflow: Selecting a State Management Approach](#workflow-selecting-a-state-management-approach) - [Workflow: Implementing MVVM with Provider](#workflow-implementing-mvvm-with-provider) - [Examples](#examples) ## Core Concepts Flutter's UI is declarative; it is built to reflect the current state of the app (`UI = f(state)`). When state changes, trigger a rebuild of the UI that depends on that state. Distinguish between two primary types of state: * **Ephemeral State (Local State):** State contained neatly within a single widget (e.g., current page in a `PageView`, current selected tab, animation progress). Manage this using a `StatefulWidget` and `setState()`. * **App State (Shared State):** State shared across multiple parts of the app and maintained between user sessions (e.g., user preferences, login info, shopping cart contents). Manage this using advanced approaches like `InheritedWidget`, the `provider` package, or Riverpod. ## Architecture and Data Flow Implement **Unidirectional Data Flow (UDF)** for scalable app state management. * **Unidirectional Data Flow (UDF):** Enforce a strict flow where state flows *down* from the data layer, through the logic layer, to the UI layer. Events from user interactions flow *up* from the UI layer, to the logic layer, to the data layer. * **Single Source of Truth (SSOT):** Ensure data chang