首页 > 解决方案 > 使用firebase时真的需要本地状态管理吗?

问题描述

(这最初是一篇关于 Flutter-dev reddit 的帖子,被重定向到这里)

所以我开始使用 firebase 作为后端来制作这个颤振应用程序,在查看了状态管理的所有选项之后,我终于意识到 firebase 提供的工具已经处理了我需要状态管理的几乎所有事情。

例如:

我可以将当​​前登录的用户设置为我的状态以显示正确的登录名或主页,并使用户 uid 可用于小部件以进行他们的 firestore API 调用。

或者

我可以只听以FirebaseAuth.instance.onAuthStateChanged显示正确的页面,然后FirebaseAuth.instance.currentUser()从任何地方使用来获取登录的用户 uid 并进行我的 firestore 调用。

我的意思是,对于需要全局状态的每一件事,我基本上可以拥有一个 firebase 流侦听器。

这是正确的吗 ?还是我在这里遗漏了什么?

标签: firebaseflutter

解决方案


你没有错过任何东西。由于大多数 Firebase API 依赖于来自 Google 服务器的数据,因此其中许多 API 旨在以被动方式使用。让您的 UI 响应这些异步更改是(根据我的经验)保持代码简单的最佳方法。

不同类型的听众之间可能会有轻微的行为。但是onAuthStateChanged当您附加它时,侦听器会立即以当前状态触发,这使其成为一个很好的侦听器示例,您可以在需要响应身份验证状态的任何地方使用它(而不是将该状态存储在应用程序的某个位置)。


推荐阅读