Flutter官方介紹Provider:https://flutter.dev/docs/development/data-and-backend/state-mgmt/simple
模型繼承ChangeNotifier,ChangeNotifierProvider(或者MultiProvider)包裹祖先wdget並提供模型實列,Consumer包裹使用模型實列的子widget。
Provider.of<模型>(context, listen: false)可不在使用Consumer的地方獲取到模型實列,然后對模型實例進行操作。
ChangeNotifierProvider在使用的時候,可能會在被包裹的祖先wdget中使用實例模型,這時可將這部分代碼實現在ChangeNotifierProvider的builder屬性中,然后將builder屬性中的context傳入相應的代碼。
Consumer有一個child屬性,可以將不依賴模型實例的widget賦給child,然后builder屬性中引用child即可。