The BLoC pattern is the recommended state-management pattern at this time, but you have other choices when using Flutter: the different options for maintaining a state in Flutter are explained in the official documentation at https://flutter.dev/docs/development/data-and-backend/state-mgmt/options.
In particular, you should be aware of the following :
- Inherited Widget: This propagates data to its child widgets: https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html.
- Scoped Model: A package to simplify state management: https://pub.dev/packages/scoped_model.
- Redux: Another package that is great if you've used React: https://pub.dev/packages/flutter_redux.
As with state management, there are several tools to choose from when persisting data in Flutter. For a list of your options, have a look at the official documentation at https://flutter.dev...