【问题标题】:Flutter: Provider and Firebase | List of Object from Firestore Data (mapped) returns null from ProviderFlutter:提供者和 Firebase |来自 Firestore 数据(映射)的对象列表从 Provider 返回 null
【发布时间】:2021-05-07 04:55:33
【问题描述】:

我是 Flutter 的新手。所以,目前我在我的项目中使用 Provider 包,它只是从 Firestore 集合中获取快照(QuerySnapshot)然后将其映射到TaskObject(我创建的自定义对象)然后转换映射的任务对象成一个列表。问题是:当我在 UI dart 文件中使用 Provider.of<List<TaskObject>>(context) 时,它返回 null。这个 UI dart 文件的父文件具有 StreamProvidercatchError 属性,它确实捕获了一个错误。这是我的代码:

1. The UI dart file source code

2. The Database Service source code (Mapping Processes)

注意:在数据库服务代码中,我打印了一些 Firestore 数据,它运行良好。但我不知道如何在将 List 流式传输到 Provider 之前检查对象是否填充了这些 Firestore 数据。

非常感谢你们!提供的所有帮助将不胜感激。祝你有美好的一天!

【问题讨论】:

    标签: firebase flutter google-cloud-firestore flutter-provider


    【解决方案1】:

    问题可能是 firestore 数据尚未完成读取,但您的 ListView.builder 小部件已显示。所以你的 todolist 还没有被填满。试试这个代码

    注意:使用notifyListeners(); 通知状态值的更改

    toDoList.length == null
        ? Center(
            child: CircularProgressIndicator(),
          )
        : Container(
            child: ListView.builder(),
          ),
    

    【讨论】:

    • 我应该在哪里使用 notifyListeners()?
    猜你喜欢
    • 2021-02-20
    • 2020-12-20
    • 2022-01-22
    • 2020-05-15
    • 2023-01-16
    • 2021-12-27
    • 2021-04-26
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多