tow*_*hid 2 provider dart flutter riverpod
试图读取 initState 中的 streamProvider,但失败了。请启发我,我在这里做错了什么?
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
final userStream = context.read(userStreamProvider);
print('user : $userStream'); // user : AsyncValue<Null>.loading()
});
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我发现context.read(userStreamProvider)只在build(BuildContext context)方法内部
有效
您的代码有效。问题是,您不是在等待用户加载。
你想要的大概是:
@override
void initState() {
super.initState();
context.read(userStreamProvider.last).then((user) {
print('user $user');
});
}
Run Code Online (Sandbox Code Playgroud)
通过阅读userStreamProvider.last,您将能够等待用户加载。然后您可以使用.then或await喜欢所有期货。
| 归档时间: |
|
| 查看次数: |
1175 次 |
| 最近记录: |