【问题标题】:Flutter passing data from one screen to another as a streamFlutter 将数据作为流从一个屏幕传递到另一个屏幕
【发布时间】:2021-01-06 18:39:03
【问题描述】:

如何将数据作为流从一个屏幕传递到另一个屏幕?

当我点击一个产品时,我有一个屏幕显示使用 Firebase Stream (StreamProvider) 的产品列表,我想转到另一个屏幕,我可以在其中显示产品详细信息。我想将产品列表作为流传递到详细信息页面,因此我在详细信息屏幕上所做的任何更改都会自动更新 firestore 文档。

    onTap: () {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                          builder: (context) => ProductDetails(
                                products: products
                              )));
                },

在产品详细信息屏幕上,我只能以List<Product> 而不是Stream<List<Product>> 获得产品

【问题讨论】:

  • 为什么需要通过它。您可以使用该流到streamBuilder 并访问snapshot.data
  • 我正在导航到不同的屏幕,所以我不知道如何访问流。

标签: firebase flutter google-cloud-firestore state-management


【解决方案1】:

在 Flutter 中,将数据发送到新屏幕的方式描述为 here

但是,我发现 this SO post 似乎对您的用例有所帮助。

您可以在此处尝试 BLoC 实施。此外,我还遇到了this Medium article,这可能有助于解决这个问题。

【讨论】:

  • 这很有帮助,谢谢。我认为 BLoC 可能是我的问题的解决方案,我正在研究它。
猜你喜欢
  • 2019-10-27
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 2022-12-07
  • 1970-01-01
  • 2022-01-04
  • 2019-05-10
  • 1970-01-01
相关资源
最近更新 更多