firebase - 空安全后如何在 Flutter 和 Firebase 中构建模型
问题描述
我正在使用颤振处理一个项目,在包中进行了一些更改后,我在为我的应用程序创建新模型时遇到了问题。目前,我创建了这个模型:
// @dart=2.9
import 'package:cloud_firestore/cloud_firestore.dart';
class UserModel {
String uid;
String name;
String email;
int posts;
String profileImage;
Timestamp lastSeen;
UserModel({this.uid, this.name, this.email, this.profileImage, this.posts, this.lastSeen});
factory UserModel.fromDocument(DocumentSnapshot _snapshot) {
var _data = _snapshot.data;
return UserModel(
uid: _snapshot.id,
name: _data["name"],
email: _data["email"],
profileImage: _data["profileImage"],
posts: _data["posts"],
lastSeen: _data["lastSeen"],
);
}
}
并且颤振突出显示括号内的数据,并显示以下消息“运算符'[]'未为类型'Object Function()'定义。”
关于这里发生了什么、发生了什么变化以及我们如何解决它的任何想法?
谢谢!!
解决方案
将此用于空安全
factory UserModel.fromDocument(DocumentSnapshot _snapshot) {
Map<String, dynamic> _data = snapshot.data!.data() as Map<String, dynamic>;
return UserModel(
uid: _snapshot.id,
name: _data["name"],
email: _data["email"],
profileImage: _data["profileImage"],
posts: _data["posts"],
lastSeen: _data["lastSeen"],
);
}
推荐阅读
- xcode - 录音机:默认扬声器播放
- javascript - 为什么我的 javascript 不能识别其中有换行符的字符串?
- java - 无法在 http://automationpractice.com 上找到元素
- jquery - 将 HTML 导入 HTML
- php - 使用php在25中有多少个5
- tensorflow - TensorFlow 需要很长时间才能将数据加载到 tf.Dataset
- python - AttributeError:“函数”对象没有属性“get_value”
- python - 具有周、年和点击次数的时间序列图
- angular - 带有自定义表单组件的嵌套模板表单,无 ControlContainer 提供程序
- node.js - 甚至无法在树莓派上运行基本的 Node.Js 文件