【发布时间】:2021-03-05 12:16:52
【问题描述】:
我有一个应用程序,它有多个屏幕,显示用户当前的 XP 和其他游戏内成就。 起初我使用的是静态变量(如果它们被操作系统擦除,它将从 Firebase 重新更新),然后我切换到在屏幕之间传递 User 对象,然后我终于意识到还有许多其他问题,比如数据没有在 Navigator.pop() 和类似的。
然后我转而使用 Provider Package。它工作得很好,虽然我确信我不理解 Provider 附带的一半代码。
现在我变得偏执,如果这是很好地使用提供者,提供者类的生命周期是多少? 我将 MyApp 包裹在 UserData 的 ChangeNotifierProvider 中,并打算在 VM 终止之前使用其中的数据 - 数据是否会保留在提供程序中上课那么久?
简单代码示例:
Class UserData extends ChangeNotifier {
String _UID;
int _highscore;
void updateHighscore(int i) {
_highscore += i;
notifyListeners();
}
String getUserID() {
return _UID;
}
}
谢谢。
【问题讨论】:
标签: flutter dart flutter-provider