我想知道是否可以做或不应该做。 例如,我创建了这样的类:
class Utils {
static String uid;
}
并在用户登录时获取用户的uniqueId
并进行如下设置:
Utils.uid = uniqueId;
在那之后,绕过去。
假设我有一些选项卡,并从第一个选项卡开始,该选项卡在此处显示uid
,当转到第二个选项卡时,请使用uid
进行操作。
是我不应该做的事还是可以吗?
任何帮助表示赞赏!
答案 0 :(得分:1)
我不能说是对还是错,这取决于它,但是我在做什么,我已经看到其他几项是在 SharedPreferences 中存储与用户相关的信息,例如用户ID。一旦用户登录到应用程序。
希望这会有所帮助。
答案 1 :(得分:1)
不。通常在Flutter内部,一切应该来自小部件。无论是配置,API数据,身份验证还是您可以想到的任何东西。
虽然可以使它与单例/静态属性一起使用,但您却失去了很多。通过将所有内容包装在小部件中;这样可以确保每当数据更改时,所有内容都会正确重新加载。
在这种情况下,您需要使用InheritedWidget
公开用户信息。
答案 2 :(得分:0)
现在您可以使用提供程序在页面和小部件之间共享数据 提供者仅重新加载必要的窗口小部件,这些窗口小部件的性能要比静态属性高