dart - fromjson - el tipo ''List<dynamic>'' no es un subtipo de tipo ''List<Widget>''
flutter json (1)
El problema aquí es que la inferencia de tipos falla de una manera inesperada. La solución es proporcionar un argumento de tipo al método de map
.
snapshot.data.documents.map<Widget>((document) {
return new ListTile(
title: new Text(document[''name'']),
subtitle: new Text("Class"),
);
}).toList()
La respuesta más complicada es que, si bien el tipo de elementos children
es List<Widget>
, la información no vuelve a la invocación del map
. Esto podría deberse a que el map
va seguido de toList
y porque no hay forma de escribir anotar la devolución de un cierre.
Tengo un fragmento de código que copié del ejemplo de Firestore:
Widget _buildBody(BuildContext context) {
return new StreamBuilder(
stream: _getEventStream(),
builder: (context, snapshot) {
if (!snapshot.hasData) return new Text(''Loading...'');
return new ListView(
children: snapshot.data.documents.map((document) {
return new ListTile(
title: new Text(document[''name'']),
subtitle: new Text("Class"),
);
}).toList(),
);
},
);
}
Pero me sale este error
type ''List<dynamic>'' is not a subtype of type ''List<Widget>''
¿Qué va mal aquí?