用户界面中未显示Sharedpreference值

时间:2020-10-05 09:28:31

标签: flutter dart sharedpreferences

我正在从Sharedpreference中检索用户数据,但是无法在UI文本部分中显示它,但是只有在我热重载时,检索到的数据才会显示在UI文本中。

"\ud83d \udc63 \ud83c \udf3f \ud83d \udca6 DE BOUCAN LALEU etc....Sur sa cr\u00eate se dressent"

1 个答案:

答案 0 :(得分:0)

getPrefs被异步调用。因此,在之前检索用户名值之前绘制了UI。

要解决此问题,请在获得用户名值后立即调用setState,这将强制刷新UI。

这是一个快速实现:

getPrefs() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  setState(() {
    username = prefs.getString('user_name') ?? '';
  });
}