Getting started with Riverpod

setState

The low-level approach to use for widget-specific, ephemeral state.

Adding interactivity to your Flutter app, a Flutter tutorial

Basic state management in Google Flutter, by Agung Surya

InheritedWidget & InheritedModel

The low-level approach used to communicate between ancestors and children
in the widget tree. This is what provider and many other approaches
use under the hood.

The following instructor-led video workshop covers how to
use InheritedWidget:

Other useful docs include:

InheritedWidget docs

Managing Flutter Application State With InheritedWidgets,
by Hans Muller

Inheriting Widgets, by Mehmet Fidanboylu

Using Flutter Inherited Widgets Effectively, by Eric Windmill