gpt4 book ai didi

firebase - Flutter,是否可以在没有窗口小部件构建方法的情况下在功能中使用Firestore Stream Builder?

转载 作者:行者123 更新时间:2023-12-03 04:28:05 25 4
gpt4 key购买 nike

我有一个函数,该函数获取Google Places搜索商店的结果并搜索Firestore以查看商店是否已在数据库中。

每当我运行它时,它都会认为Stream Builder无所作为。

我认为问题在于该函数不在小部件内并且没有构建方法。这是代码:

  void searchStores() async {
Prediction newStore = await PlacesAutocomplete.show(
context: context,
apiKey: kGoogleApiKey,
mode: Mode.overlay,
language: "en",
components: [new Component(Component.country, "au")]);

await places.getDetailsByPlaceId(newStore.placeId).then((detailStoreInfo) {

print('running 1');

StreamBuilder (
stream: Firestore.instance.collection('stores').document(detailStoreInfo.result.id).snapshots(),
builder: (BuildContext context, AsyncSnapshot snapshot){

print('running 2');

setState(() {
if (snapshot.connectionState == ConnectionState.active &&
snapshot.hasData){

print('running 3');

if (snapshot.data['veganOnly'] == null || snapshot.data['veganOnly'] == false){

print('running 4');

setState(() {
firstStore = true;
});

}
}
});

return null;

}
);

});
}

如您所见,我添加了打印语句来确定代码失败的地方。显示“正在运行1”,因此场所正在返回响应。

但是没有其他语句(2,3或4)正在打印,因此流构建器似乎无法正常工作,甚至没有返回空值。

我还尝试在流生成器之前放置一个返回值,但这也没有任何效果。

我是否认为这是正确的,因为它不在小部件的构建方法中,或者完全不是其他东西。

谢谢

最佳答案

StreamBuilderWidget,因此必须像在Text小部件中一样,将其插入小部件树中的某个位置。只需将其传递给流,然后在builder回调中返回另一个小部件

关于firebase - Flutter,是否可以在没有窗口小部件构建方法的情况下在功能中使用Firestore Stream Builder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57951293/

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