flutter - 登录后立即执行 SetState
问题描述
每次用户通过登录阶段时,我都想设置一个 setState。“litems”是一个项目列表,我在“MyHomePage”中用于 listView。但是当用户传递给“MyHomePage”时,列表“litems”具有所有元素,但 listView 不会更新,因此 listView 不会显示任何内容,直到 SetState 在“MyHomePage”中发生
class AuthenticationWrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
var firebaseUser = context.watch<User>();
if (firebaseUser != null) {
uid = firebaseUser.uid;
Database db = new Database(uid);
db.getListPersonalReminder(litems); //Add all the necessary elements in litems
return MyHomePage(litems);
}
return SignInPage();
}
}
解决方案
Convert this
> StatelessWidget widget to StatefulWidget and Then
void initState() {
super.initState();
---- do your task here
}
推荐阅读
- elasticsearch - Logstash 无法连接 ElasticSearch。得到响应代码 '400' 通过 URL 'http://127.0.0.1:9200/_license' 联系 Elasticsearch
- sql - SQL - 使用另一个表删除表中的特定原始数据集
- reactjs - 如何从 onsubmit 函数内部调用 swr-firestore 的 useCollection
- json - 如何在 json.Marshal 期间自定义缩进功能?
- c# - 为什么运行时表达式会导致 Entity Framework Core 5 的缓存发生冲突?
- java - 读取不同编码格式的文本文件时指定字节的目的
- r - 根据唯一的文件名提取目录中的特定文件并在 R 中使用 read_wav 读取它们
- python - Python setuptools:将脚本安装为符号链接?
- asp.net-web-api - 在执行当前 Web 请求期间不断出现未处理的异常
- java - 使用一元运算符时出现意外类型错误 --