有人可以向我解释 fromMap() 和 fromSnapshot()

Can someone explain fromMap() and fromSnapshot() to me

有人可以向我解释下面的代码吗?我正在学习 flutter 中的 cloud firestore,但我无法理解下面的 fromMap conecpt 和 fromSnapshot conept

class Record {
     final String name;
     final int votes;
     final DocumentReference reference;
    
     Record.fromMap(Map<String, dynamic> map, {this.reference})
         : assert(map['name'] != null),
           assert(map['votes'] != null),
           name = map['name'],
           votes = map['votes'];
    
     Record.fromSnapshot(DocumentSnapshot snapshot)
         : this.fromMap(snapshot.data, reference: snapshot.reference);
    
     @override
     String toString() => "Record<$name:$votes>";
    }

fromMap() 从 API 接收到的数据采用 JSON 格式,因此它是一个 key-value 对关系,并且使用该映射。它基本上用于解析地图中的值并将其分配给模型中的局部变量

示例:

 name = map['name'], 
 votes = map['votes'];

以上两个变量都可以从模型对象实例访问。

fromSnapshot(): 类似于fromMap(),唯一的区别是它在DocumentSnapshot中给出它的值,并调用fromMap()