Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 用户模型上DocumentSnapshot的操作员错误_Flutter_Dart - Fatal编程技术网

Flutter 用户模型上DocumentSnapshot的操作员错误

Flutter 用户模型上DocumentSnapshot的操作员错误,flutter,dart,Flutter,Dart,这是我的第一个问题,我对编码不是很专业,我只是想发展我自己,所以我希望我能解释我自己 我一直在尝试开发一个社交平台,但我在与firebase连接的用户模型上遇到了问题。您可以在下面看到我的用户模型: import 'package:cloud_firestore/cloud_firestore.dart'; class User { final String id; final String profileName; final String use

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

我一直在尝试开发一个社交平台,但我在与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”类型定义。您可以在屏幕截图上看到错误


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

尝试使用doc.data['']

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'],
        );
 } 
或者尝试在数据之后添加
()

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'],
        );
 } 

非常感谢你。成功了!顺便说一下,当我像“doc.data['profileName]”这样写的时候,错误并没有消失。我像“doc.data()['profileName]”这样写,然后它就工作了。另一方面,没有你的帮助我找不到这个。再次感谢。