在流构建器上的颤动网络中出现意外的空错误,在Android上运行正常 [英] unexpected null error coming in flutter web on stream builder ,working fine on android
本文介绍了在流构建器上的颤动网络中出现意外的空错误,在Android上运行正常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的个人资料页面中有以下代码。 代码在Android上运行得非常好,但在网络上,当我打开我的个人资料页面时,它显示
意外空值错误,
调试控制台中指向错误的代码:
return Container(
child: StreamBuilder<DocumentSnapshot>(
stream: FirebaseFirestore.instance
.collection('users')
.doc(profileId)
.snapshots(),
builder: (context,snapshot) {
if (!snapshot.hasData) {
return Container(
alignment: FractionalOffset.center,
child: CircularProgressIndicator());
}
User user = User.fromDocument(snapshot.data!);
return Scaffold(
//all body widgets
);
调试控制台显示
The following TypeErrorImpl was thrown building StreamBuilder<DocumentSnapshot<Object?>>(dirty, state: _StreamBuilderBaseState<DocumentSnapshot<Object?>, AsyncSnapshot<DocumentSnapshot<Object?>>>#556d2):
Unexpected null value.
The relevant error-causing widget was
StreamBuilder<DocumentSnapshot<Object?>>
lib/profile_page.dart:615
推荐答案
我觉得您应该把这一行User user = User.fromDocument(snapshot.data!);
放到else
中,如下所示:
if (!snapshot.hasData) { // if snapshot has no data this is going to run
return Container(
alignment: FractionalOffset.center,
child: CircularProgressIndicator());
}
else{ // if snapshot has data this is going to run
User user = User.fromDocument(snapshot.data!);
}
这篇关于在流构建器上的颤动网络中出现意外的空错误,在Android上运行正常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文