【发布时间】:2020-04-30 10:35:39
【问题描述】:
我想知道在所有应用程序中访问已登录用户的最佳做法是什么。
并且不要在所有初始化状态下执行FirebaseAuth.instance.currentUser().then((result) {...});。
我有两个想法,创建一个在我启动应用程序时初始化的单例。
并听onAuthStateChanged。
class GlobalDataAppli {
static final GlobalDataAppli _appData = new GlobalDataAppli._internal();
FirebaseUser user;
IdTokenResult userToken;
List<Post> myListPost;
factory GlobalDataAppli() {
return _appData;
}
GlobalDataAppli._internal();
}
final globalData = GlobalDataAppli;
或者我看到了继承的小部件。但这只会共享我的子小部件的用户,而不是在更改视图时。
我还想在整个应用程序中分享帖子列表。事实上,同一篇文章可以在多个页面中看到,所以我想将当前显示的所有文章保存在内存中,以便每个文章小部件都基于相同的变量。因此,对视图上的帖子的修改会反映在显示该帖子的每个视图上。 (目前我已将此列表作为每个视图的参数传递,它可以工作,但我知道这不是正确的做法)。
有人知道这方面的最佳做法吗?
【问题讨论】:
标签: firebase flutter firebase-authentication