首页 > 解决方案 > 使用提供者状态管理获取共享偏好值

问题描述

我尝试从 SharedPrefereces 获取值,但null如果我尝试在主页中获取数据,我会得到一个值,我尝试在创建主页上的状态时获取数据,但有时我会像这样得到 null 可用 URL:http:/ /169.172.70.108:8008/api/v1/iksk/self?idtraining=null

但是在热重载之后我设法得到了这样的结果

可用网址: http://169.172.70.208:8008/api/v1/iksk/self?idtraining= 2021-01-21

这是我的代码

@override
  void initState() {
    // get pelatihan
    MySharedPreferences.instance
        .getStringValue(key: 'namaPelatihan')
        .then((value) {
      namaPelatihan = value;

      // get nama Peserta
      MySharedPreferences.instance
          .getStringValue(key: 'namaPeserta')
          .then((value) {
        namaPeserta = value;
      });
    });

如何使用提供者状态管理获得实时结果(重定向到主页时获得结果)?

标签: fluttersharedpreferencesflutter-provider

解决方案


首先创建一个函数,然后使用 async 并等待它,然后将这段代码放在一起

_transitionToNextPageAfterSplash() async {
    final auth = await SharedPreferences.getInstance()
        .then((value) => value.getBool('auth') ?? false);
}

推荐阅读