gpt4 book ai didi

flutter - 里弗波德 : Access Provider in initState method

转载 作者:行者123 更新时间:2023-12-03 04:18:11 34 4
gpt4 key购买 nike

尝试读取 initState 中的 streamProvider,但失败了。请启发我,我在这里做错了什么?

  @override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
final userStream = context.read(userStreamProvider);
print('user : $userStream'); // user : AsyncValue<Null>.loading()
});
}

到目前为止,我发现 context.read(userStreamProvider) 只在内部有效build(BuildContext context) 方法

最佳答案

您的代码有效。问题是,您没有等待用户加载。

你想要的可能是:

  @override
void initState() {
super.initState();
context.read(userStreamProvider.last).then((user) {
print('user $user');
});

}

通过阅读 userStreamProvider.last,您将能够等待 加载用户。然后,您可以像所有 future 一样使用 .thenawait

关于flutter - 里弗波德 : Access Provider in initState method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64193418/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com