TL;DR
flutter-riverpodのチュートリアルをやってみる
State, Provider, Nofifier, ref
FlutterのおけるStateは"変化する情報"のこと。
それは、文字や数値などの原始的な情報でもいいし、ゲームの状態といったような複雑な変数の塊であってもイイ!
State
Stateは変化する状態のこと。
このState(情報)をアプリケーション間で管理するためにあるのが、riverpodやStatefulWidget。
Provider
ProviderはStateを保護するための領域。
ProviderScopeとは、Stateをアプリケーション間で共有するための最上位スコープ。
実行されるアプリケーションの、すべてのWidgetはProviderScopeの中にあるため、アプリケーションからProviderScopeのStateにアクセスできる!
ただ、完全なGlobalScopeと同義にすると危険なので、refというWidgetツリーを使った専用のツールを使って、
状態を確認し、Notifierを使って情報を更新する。
いわば、メンバのgetterとsetterみたいな関係。
Notifier
ProviderScopeのStateを変更するための存在。
ref
Provider内のStateを見るための窓。
鍵みたいって例えられることもある。
Riverpod Generator
NotifierとUpdateメソッドなど,State変化のコードを記述するのみで,Riverpodに必要となる外のコードはすべて,自動生成するツール