Flutter 运算符';[]和#x27;isn';t为类型';对象';自颤振更新以来

Flutter 运算符';[]和#x27;isn';t为类型';对象';自颤振更新以来,flutter,firebase-realtime-database,Flutter,Firebase Realtime Database,休息了几个月后,我又开始做我的项目了。我已经更新了颤振版本,现在我不能再运行我的应用程序了。 我犯了很多错误 我做了一些谷歌搜索,但我没有找到一个明确的解决方案。谢谢你的帮助。非常感谢 child: Row( crossAxisAlignment: CrossAxisAlignment.start, children:

休息了几个月后,我又开始做我的项目了。我已经更新了颤振版本,现在我不能再运行我的应用程序了。 我犯了很多错误

我做了一些谷歌搜索,但我没有找到一个明确的解决方案。谢谢你的帮助。非常感谢

child: Row(
                        crossAxisAlignment: CrossAxisAlignment.start,
                  
                        children:
                        snapshot.data.docs.map((documentSnapshot) {
                        print(documentSnapshot.data());

                        recordID = documentSnapshot.id; 
                          return Text(documentSnapshot
                              .data()['task_Name']); //Error is The operator '[]' isn't defined for the type 'Object'.
                        }
                        ).toList(),
                      ),

通过观察您的数据和代码,我认为documentsnapshot.data()包含的对象不是json数据\

无论何时调用documentSnapshot.data()[“task_Name”]都会引发错误

这就是我在您提供的代码中发现的问题


请通过打印来确认documentsnapshot.data()包含的内容。

您需要从
cloud\u firestore
2.0.0
中指定所需的
documentsnapshot
数据类型

看看这本书

您应该将代码更新为:

Map snapshotData=documentSnapshot.data()作为映射;
返回文本(快照数据['task_Name']);

我正在使用FireBase。我希望这有帮助。事实上,目前我无法运行该应用程序。自从更新了Flatter之后,我所有的视图都出现了这个错误。我能知道当你打印documentsnapshot.data()时你得到了什么吗?至少在更新之前在Commnets中添加一些信息,它工作得很好。我想随着更新,有了一种新的方式来编写代码谢谢。我已尝试了您的解决方案,但收到一条新的错误消息,参数类型“Map”无法分配给参数类型“String”。请检查控制台,错误指向哪一行?第74行是返回文本行(documentSnapshot.data()作为Map['task_Name']);好吧我已经更新了代码。请试试这个。从这个角度看,它似乎有效。我不再看到错误消息。但是,我在另一个地方试过了,但没能成功。拜托,你能再帮我一次吗child:Text(document.data()['contexts'],maxLines:2,overflow:textfoverflow.省略号,)是否回答了您的问题?我也不喜欢使用Json。我只想使用FireBase。非常感谢。