我正在聯系呼叫用戶以出現在個人資料頁面中,當我修復它時,我遇到了其他問題,如果有任何解決方案可以幫助我,那就是這個問題
import 'package:flutter/foundation.dart';
class UserModel {
String? uid;
String? Username;
String? email;
String? photoUrl;
UserModel(
{this.uid, this.email, this.Username, this.photoUrl});
// receving data from the server
factory UserModel.fromMap(Map) {
return UserModel(
uid: Map['userId'],
Username: Map['Username'],
email: Map['email'],
photoUrl: Map['photoUrl'],
);
}
// /// sending data to firestore
Map<String, dynamic> toMap() {
return {
'userId': uid,
'Username': Username,
'email': email,
'photoUrl': photoUrl,
};
}
}
錯誤圖片

uj5u.com熱心網友回復:
通過使用這個:
// receving data from the server
factory UserModel.fromMap(Map) {
return UserModel(
uid: Map['userId'],
Username: Map['Username'],
email: Map['email'],
photoUrl: Map['photoUrl'],
);
}
你指的Map是它的型別,所以它會拋出錯誤。你需要參考一個Map物件,而不是Map型別,所以試試這個:
// receving data from the server
factory UserModel.fromMap(Map data) {
return UserModel(
uid: data['userId'],
Username: data['Username'],
email: data['email'],
photoUrl: data['photoUrl'],
);
}
uj5u.com熱心網友回復:
在獲取資料時,您需要將回應宣告為 Map<String, dynamic>? 即使這樣做了,如果錯誤仍然存??在,請嘗試添加 Map['userId].toString() || 將 ['userId] 映射為字串。參考下面的代碼
final favoriteResponse = await http.get(url);
final favoriteData =
json.decode(favoriteResponse.body) as Map<String, dynamic>?;
final List<Product> loadedProducts = [];
extractedData?.forEach((prodId, prodData) {
loadedProducts.add(Product(
id: prodId,
title: prodData['title'],
description: prodData['description'],
price: prodData['price'],
imageUrl: prodData['imageUrl'],
isFavorite:
favoriteData == null ? false : favoriteData[prodId] ?? false));
});
_items = loadedProducts;
notifyListeners();
}
uj5u.com熱心網友回復:
不要Map用作變數名,它是一個 DataType
factory UserModel.fromMap(map) {
return UserModel(
uid: map['userId'],
Username: map['Username'],
email: map['email'],
photoUrl: map['photoUrl'],
);
}
uj5u.com熱心網友回復:
確保
用戶身份
是您的火庫中的字串
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/523386.html
標籤:Google Cloud Collective 扑火力基地镖
