State management is a complex topic. If you feel that some of your questions haven’t been answered, or that the approach described on these pages is not viable for your use cases, you are probably right.
Learn more at the following links, many of which have been contributed by the Flutter community:
General overview
- This very section, for those of you who arrived directly to this Options page and missed the previous pages
- Build reactive mobile apps with Flutter, a video from Google I/O 2018, and an accompanying article
- Flutter Architecture Samples, by Brian Egan
setState
- Adding interactivity to your Flutter app, a Flutter tutorial
- Basic state management in Google Flutter, by Agung Surya
InheritedWidget & InheritedModel
- InheritedWidget docs
- Managing Flutter Application State With InheritedWidgets, by Hans Muller
- Inheriting Widgets, by Mehmet Fidanboylu
- Using Flutter Inherited Widgets Effectively, by Eric Windmill
- Widget - State - Context - InheritedWidget, by Didier Bolelens
Provider & Scoped Model
- Provider package
- Scoped Model package
- Simple app state management, the previous page in this section
- You might not need Redux: The Flutter edition, by Ryan Edge
- Managing state with the scoped model pattern in Dart’s Flutter framework, a video by Tensor Programming
- Flutter: Inherited Widget and Scoped Model Explained, part 1, a video by MTechViral
- Flutter state management—scoped model
- Making sense of all those Flutter Providers
Redux
- Animation Management with Redux and Flutter, a video from DartConf 2018 Accompanying article on Medium
- Flutter Redux package
- Introduction to Redux in Flutter, by Xavi Rigau
- Flutter + Redux—How to make a shopping list app, by Paulina Szklarska on Hackernoon
- Building a TODO application (CRUD) in Flutter with Redux—Part 1, a video by Tensor Programming
- Flutter Redux Thunk, an example, by Jack Wong
- Building a (large) Flutter app with Redux, by Hillel Coren
- Fish-Redux - An assembled flutter application framework based on Redux, by Alibaba
- Async Redux - Redux without boilerplate. Allows for both sync and async reducers, by Marcelo Glasberg
- Flutter meets Redux: The Redux way of managing Flutter applications state, by Bardia Rastin
BLoC / Rx
- Architect your Flutter project using BLoC pattern, by Sagar Suri
- BloC Library, by Felix Angelov
- Reactive Programming - Streams - BLoC - Practical Use Cases, by Didier Boelens
MobX
- MobX.dart, Hassle free state-management for your Dart and Flutter apps
- Getting started with MobX.dart
- Flutter: State Management with Mobx, a video by Paul Halliday