Flutter-为userId使用静态变量是否安全

时间:2018-08-17 11:57:22

标签: flutter

我想知道是否可以做或不应该做。 例如,我创建了这样的类:

class Utils {
    static String uid;
}

并在用户登录时获取用户的uniqueId并进行如下设置:

Utils.uid = uniqueId;

在那之后,绕过去。 假设我有一些选项卡,并从第一个选项卡开始,该选项卡在此处显示uid,当转到第二个选项卡时,请使用uid进行操作。 是我不应该做的事还是可以吗? 任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

我不能说是对还是错,这取决于它,但是我在做什么,我已经看到其他几项是在 SharedPreferences 中存储与用户相关的信息,例如用户ID。一旦用户登录到应用程序。

希望这会有所帮助。

答案 1 :(得分:1)

不。通常在Flutter内部,一切应该来自小部件。无论是配置,API数据,身份验证还是您可以想到的任何东西。

虽然可以使它与单例/静态属性一起使用,但您却失去了很多。通过将所有内容包装在小部件中;这样可以确保每当数据更改时,所有内容都会正确重新加载。

在这种情况下,您需要使用InheritedWidget公开用户信息。

More informations here on how to use them.

答案 2 :(得分:0)

现在您可以使用提供程序在页面和小部件之间共享数据 提供者仅重新加载必要的窗口小部件,这些窗口小部件的性能要比静态属性高