我在flutter项目工作应用Getx和MVC架构,但当我从Firestore第一次获得流时,它得到了空值,但当该页面值热加载时,将进入如何删除此错误的位置,几乎在所有类型的模块中,我都必须面对此错误。我正在尝试初始化状态,但在初始化状态下,Ui先生成函数。
9gm1akwq1#
StreamBuilder或FutureBuilder使用null值调用其构建器函数是很正常的。原因是build函数可以在任何时候调用,而不管流或将来的状态如何。您应该使用快照的hasData属性来检查有效数据,并处理null数据的情况,例如,通过返回SizedBox小部件。
StreamBuilder
FutureBuilder
null
build
hasData
SizedBox
StreamBuilder( stream: yourStream, builder: (context, snapshot) { if (snapshot.hasData) { return yourWidget(); } else { return const SizedBox(); } }, );
1条答案
按热度按时间9gm1akwq1#
StreamBuilder
或FutureBuilder
使用null
值调用其构建器函数是很正常的。原因是
build
函数可以在任何时候调用,而不管流或将来的状态如何。您应该使用快照的
hasData
属性来检查有效数据,并处理null
数据的情况,例如,通过返回SizedBox
小部件。