我想知道可以做还是不应该做。 例如,我创建了这样的类:
class Utils {
static String uid;
}
并在用户登录时获取用户的 uniqueId
并像这样设置:
Utils.uid = uniqueId;
之后,就绕过去吧。
假设我有选项卡,并从第一个选项卡开始,在此处获取 uid
,当转到第二个选项卡时,使用 uid
进行某些操作。
这是我不应该做的事还是可以的?
感谢您的帮助!
最佳答案
没有。一般来说,在 Flutter 内部,一切 都应该来自小部件。无论是配置、API 数据、身份验证,还是您能想到的任何内容。
虽然你可以让它与单例/静态属性一起工作,但你失去了很多。通过将所有内容包装在一个小部件中;它确保无论何时数据发生变化,一切都会正确地重新加载。
在这种情况下,您需要使用 InheritedWidget
公开用户信息。
关于Flutter- 为 userId 使用静态变量是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51894959/