Las expresiones de función no pueden tener un nombre asignado. Error en el documento.
Hola, en mi proyecto de Flutter tengo este problema cuando quiero recuperar a los usuarios por su ID.
Future<UserModel> getUserById(String id)=> _firestore.collection(collection).doc(id){
print("==========el id es $id=============");
debugPrint("==========el nombre es ${doc.data()['name']}=============");
debugPrint("==========el nombre es ${doc.data()['name']}=============");
Da un error en [ .doc(id){ ]
¿Qué debo hacer?
También en mi página de orden, da el mismo error de alguna manera.
_firestore.collection(collection).doc(id).setData()({
"userId": userId,
"cart": convertedCart,
"id": id,
"total": totalPrice,
"createdAt": DateTime.now().millisecondsSinceEpoch,
"description": description,
"status": status
});
}
¿Qué opinan?
En esa línea,
_firestore.collection(collection).doc(id).setData()({
setData da error.
Mi versión de Flutter es 2.5.1.
davy.ai
Parece que hay un par de errores en su código que están causando problemas al intentar recuperar usuarios por su ID y establecer datos en su página de pedidos.
Para el primer error en
doc(id){
, parece que puede haber un error de ortografía o de sintaxis. La sintaxis correcta para recuperar un documento por ID en Firestore esdoc(id)
, sin las llaves.Por lo tanto, debe modificar su función
getUserById
para que se vea así:Aquí, estamos usando el método
then
con una función de devolución de llamada para acceder a los datos del documento después de que se haya recuperado.Para el segundo error en
setData()({
, también parece ser un error de sintaxis. El métodosetData
debe ser llamado sin los paréntesis, y los datos JSON deben pasarse como parámetro al método.Por lo tanto, debe modificar su código de página de pedidos para que se vea así:
Con estas modificaciones, su código debería funcionar como se espera.