返回类型"对象?"不是闭包上下文所要求的"小部件"。扑动



过去你可以这样使用FutureBuilder:

FutureBuilder(
future: test(),
builder: (BuildContext context, snapshot) {
return snapshot.data;
},
),
test() async {
await Firebase.initializeApp();
String downloadURL = await firebase_storage.FirebaseStorage.instance
.ref('achtergrond.jpg')
.getDownloadURL();
print(downloadURL);
}

由于最新的更新,它已经改变,现在无效使用。我得到的错误信息是:

返回类型'Object?'不是'Widget',而不是关闭的上下文。

所以我的问题是为什么他们改变了它以及如何修复它并像你通常那样从Dart函数中获取数据

如果你遇到这个问题,可以这样做:

FutureBuilder(
future: test(),
builder: (BuildContext context, snapshot) {
var data = snapshot.data as Widget; // Get the data as a Widget and works just fine
return data;
},
),
test() async {
await Firebase.initializeApp();
String downloadURL = await firebase_storage.FirebaseStorage.instance
.ref('achtergrond.jpg')
.getDownloadURL();
print(downloadURL);
return Text(downloadURL);
}

最新更新