使用火力,当真正需要的地方国家管理?

问题描述 投票:1回答:2

(这原本是对在这里重定向扑-dev的reddit的帖子)

于是我开始制作使用火力点作为后端的这个扑应用程序,并在寻找状态管理的所有选项后,我终于明白了,由火力提供的工具已经处理几乎所有我需要的状态管理。

例如:

我可以设置在当前登录的用户在我的状态,以显示正确的登录或主页,使用户的UID提供给小部件为他们公司的FireStore API调用。

要么

我可以只听FirebaseAuth.instance.onAuthStateChanged以显示正确的页面,只需使用FirebaseAuth.instance.currentUser()从任何地方来获取登录的用户的UID,做我公司的FireStore电话。

我的意思是,对于需要全局状态的每一件事情,我可以基本都有火力流侦听器。

这是正确的吗 ?还是我失去了一些东西?

firebase flutter
2个回答
2
投票

你不会错过任何。由于大部分火力地堡的API依靠从谷歌的服务器上的数据,很多都是设计成被动的方式使用。使您的UI被动那些异步的变化作出反应是(在我的经验),让您的代码简单的最佳方式。

可能有不同类型的听众之间的轻微行为。但onAuthStateChanged听众立即与当你附上它目前的状态,这使得它的监听器的一个很好的例子,你可以用无处不在,你需要应对权威性状态(而不是在某个位置存储在您的应用程序,状态)触发。


1
投票

在那种情况下,我会说是的,你可以阅读onAuthStateChanged流和对变化做出反应。但也有一些,我需要一个流,用于无父/子关系小部件之间交互的场景。举例来说,在我的应用程序之一,我有一个公司选择,以及应用程序的其余部分反映到所选择的公司。我创建了一个流,从而使公司选择并不需要是其他部件的父母,尤其是让我不需要到公司参数传递给所有的控件树。

我也有一个场景,我需要加载有关不可用FirebaseUser对象的用户的额外信息。因此,当登录我的用户从“用户”收集加载自己的信息,然后我再补充一点,以自定义数据流。

因此得出结论,我会说是的,你应该使用默认的可能时火力地堡流,但是,这并不意味着你可以或应该使用该解决方案的一切。

© www.soinside.com 2019 - 2024. All rights reserved.