Declarative & functional Flutter code examples using Riverpod for state management.
lib/
features/
counter/ — StateNotifier + immutable state
todos/ — Sealed union state (Loading/Data/Error) + functional transitions
weather/ — FutureProvider + Repository pattern (dependency inversion)
| Pattern | Where |
|---|---|
| Sealed state union | TodosState — exhaustive switch in UI |
| Dependency inversion | WeatherRepository interface → swap impl without touching UI |
Immutable state + copyWith |
Todo, TodosData |
autoDispose provider |
weatherProvider — no memory leaks |
ConsumerWidget / ConsumerStatefulWidget |
all pages |
flutter pub get
flutter run- Counter — basic
StateNotifier, pure increment/decrement/reset - Todos — sealed state, filter, swipe-to-delete, functional list transforms
- Weather — async data fetching, repository abstraction, error handling