Flutter Tutorial

Flutter Intermediate Chapter 8 of 20

State Management Packages

Every popular Flutter state management package with the same easy counter example: Provider, Riverpod, Bloc, Cubit, GetX, MobX, Signals, Redux and more.

There are many state management packages for Flutter. This chapter covers the 20 you will meet most often. Every lesson uses the same counter app first, so you can compare them side by side, and then a slightly bigger real example.

Not sure which to learn? Read Which state management should you learn? first. The short answer: Riverpod for most new apps, Bloc/Cubit for large team projects, Provider if you are a beginner, and GetX if you want speed and an all-in-one toolkit.

Lessons in this chapter

  1. All Flutter State Management Packages Compared (2026)20 Flutter state management packages compared: Provider, Riverpod, Bloc, Cubit, GetX, MobX, Hooks, Signals, Redux, GetIt, RxDart and what each is best for.
  2. Provider in Flutter: State Management TutorialLearn the provider package in Flutter: ChangeNotifierProvider, context.watch, read and select, Consumer and MultiProvider, with a cart example.
  3. Riverpod in Flutter: Providers, Notifiers and Async StateLearn Riverpod for Flutter: ProviderScope, ref.watch and ref.read, Notifier, FutureProvider and AsyncValue, with complete examples.
  4. Flutter Hooks Tutorial: useState, useEffect and Custom HooksLearn flutter_hooks with easy runnable examples: HookWidget, useState, useEffect, useTextEditingController and writing your own reusable hooks.
  5. hooks_riverpod Tutorial: Riverpod with Flutter HooksCombine Riverpod and Flutter Hooks with hooks_riverpod: HookConsumerWidget, ref.watch and useTextEditingController in an easy runnable to-do app.
  6. Bloc and Cubit in FlutterLearn the Bloc pattern in Flutter with flutter_bloc: Cubit, Bloc with events, BlocProvider, BlocBuilder, BlocListener and state classes.
  7. GetX in Flutter: Obx, GetBuilder, Dependency Injection and RoutingLearn GetX state management step by step: reactive Obx with .obs, simple GetBuilder with update(), Get.put and Get.find, and routing. Easy examples.
  8. MobX in Flutter: Observables, Actions, Computed and ObserverLearn MobX for Flutter with a simple counter: @observable, @action, @computed, the Observer widget, reactions and code generation with build_runner.
  9. Signals in Flutter: Fine-Grained Reactive State Made SimpleLearn the signals package for Flutter with easy runnable examples: signal, computed, effect and the Watch widget for fine-grained reactive state management.
  10. states_rebuilder in Flutter: Reactive State with RM.injectLearn states_rebuilder with a simple counter and async example: RM.inject, OnReactive, OnBuilder, side effects and async loading, for beginners.
  11. GetIt in Flutter: Dependency Injection and Service LocatorLearn GetIt for Flutter: register singletons, lazy singletons and factories, use them without context, and combine GetIt with state management.
  12. Redux in Flutter: Store, Actions, Reducers and StoreConnectorLearn Redux in Flutter with flutter_redux: store, actions, pure reducers, StoreProvider, StoreConnector and middleware, with easy counter and to-do code.
  13. Fish Redux in Flutter: What It Is and Should You Use It?Understand Fish Redux, Alibaba's Redux-based Flutter architecture: State, Action, Reducer, Effect and View, and what to use instead for new apps.
  14. Triple in Flutter: Simple State with Loading, Error and DataLearn the Triple pattern (flutter_triple) for Flutter state: a Store with state, loading and error, ScopedBuilder, and an easy async example for beginners.
  15. RxDart in Flutter: BehaviorSubject, Operators and Reactive StreamsLearn RxDart for Flutter with runnable examples: BehaviorSubject, debounceTime, combineLatest and switchMap with StreamBuilder and the BLoC pattern.
  16. ReArch in Flutter: Composable Capsules for State and LogicUnderstand ReArch for Flutter: capsules, side effects with use.state, RearchConsumer widgets and RearchBootstrapper, explained with an easy counter example.
  17. Which Flutter State Management Should You Learn? (Best Choice in 2026)Riverpod vs Bloc vs Provider vs GetX: a clear ranking, comparison table and decision chart to pick the best Flutter state management for your app.