【发布时间】:2020-11-10 00:52:29
【问题描述】:
我正在使用一个名为 localstorage 的 Flutter 包来保存我从 API 后端获得的令牌和用户 ID。正如我在 Chrome 的本地存储中看到的那样,我已成功保存数据:
class AuthService {
final LocalStorage storage = new LocalStorage('my_app_session');
....
login(context, email, password) async {
...
storage.setItem('id', res['data']['id'].toString());
storage.setItem('token', res['token']['access_token']);
...
Navigator.pushNamed(context, '/somepage');
});
}
然后来自 ChangeNotifier 模型:
class OrganizationModel extends ChangeNotifier {
...
var orgService = new OrganizationService();
...
Future fetch() async {
List res = await orgService.fetch();
...
}
}
最后,在OrganizationService:
class OrganizationService {
final LocalStorage storage = new LocalStorage('my_app_session');
_token() {
var token = storage.getItem('token');
print(token);
return token;
}
}
问题是token 总是返回null。我通过 setItem() 尝试了另一个新条目只是为了对其进行测试,它完全用新条目替换了整个本地存储,就好像它没有看到现有的一样。
根据我的工作流程,任何想法为什么会发生这种情况?
【问题讨论】:
标签: flutter local-storage