Skip to content

State Management

  • Allows state managing inside of a flutter app using a store
  • Applies the Single Source of Truth principle

Notifier / Cubit

  • It's the class that contain state and manages it
  • Upon change, these new values are notified to those who subscribed
  • State notification (tell to other widgets that the state has changed)
  • notifyListeners() (for ChangeNotifier)
  • emit() (for Cubit)

Provider / BlocProvider

  • It's the store that monitors the state of a notifier/cubit
  • Every listener inside the provider is a singleton containing all the current values
  • Every listener is attached to a notifier that holds the data to be monitored

Consumer / BlocBuilder

  • Piece of code that will subscribe to a value from the store
  • The widgets subscribing will automatically build and reload upon changes on the state

Provider.of / BuildContext.read

  • Access the state from the store once
  • No subscribing or auto reload
  • It can also just invoke a method from the store