flutter - 用户模型上DocumentSnapshot的操作错误

标签 flutter dart

这是我的第一个问题,我对编码并不专业,我只是想发展自己,所以我希望我能解释一下自己。

我一直在尝试开发一个社交平台,但在与 firebase 连接的用户模型上遇到了问题。您可以在下面看到我的用户模型:

import 'package:cloud_firestore/cloud_firestore.dart';

    class User {
      final String id;
      final String profileName;
      final String username;
      final String url;
      final String email;
      final String bio;
    
      User({
        this.id,
        this.profileName,
        this.username,
        this.url,
        this.email,
        this.bio,
    });
    
      factory User.fromDocument(DocumentSnapshot doc){
        return User(
          id: doc.id,
          profileName: doc['profileName'],
          username: doc['username'],
          url: doc['photoUrl'],
          email: doc['email'],
          bio: doc['bio'],
        );
      }
    }

当我创建这样的用户模型时,我得到“未为类型“DocumentSnapshot”定义操作符“[]”。”正如您在屏幕截图中看到的错误。

ScreenShot

我花了3天时间寻找解决方案,但在互联网上找不到类似的问题。你能帮我一下吗?

最佳答案

或者尝试在数据后面添加()

factory User.fromDocument(DocumentSnapshot doc){
        return User(
          id: doc.id,
          profileName: doc.data()['profileName'],
          username: doc.data()['username'],
          url: doc.data()['photoUrl'],
          email: doc.data()['email'],
          bio: doc.data()['bio'],
        );
 } 

关于flutter - 用户模型上DocumentSnapshot的操作错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63592738/

相关文章:

php - 在flutter中获取JSON数据将返回NULL

windows - Flutter平台 channel 将 "multi-data"传递给windows函数

dart - Flutter DatabaseException(唯一约束失败)

Flutter:如何使对话框的按钮居中?

dart - 如何在Dart map 列表上进行深复制?

android - Flutter TextField 和 TextFormField 在使用初始值或 Controller 设置初始文本时重复文本

flutter - 在 flutter 中突出显示下拉列表中的选定项目

dart - 无法从终端访问Sass版本或帮助

flutter - 如何实现Flutter Checkbox Stepper?

android - 如何停止在后台 chewie 插件中播放视频