Моя модель:
class doCusine{
final String cusineid;
final String cusinename;
final String status;
doCusine({this.cusineid,this.cusinename,this.status});
doCusine.fromJson(Map<String,dynamic> parsedJson)
: cusineid = parsedJson['cusineid'],
cusinename = parsedJson['cusinename'],
status = parsedJson['status'];
}
Мой виджет:
class UserDetailHeader extends StatelessWidget {
@override
Widget build(BuildContext context) {
final List<doCusine> cusines = Provider.of<List<doCusine>>(context);
print('Cusines : $cusines'); //cusines is null
return ListTile()
);
}
}
Поток базы данных:
Stream<List<doCusine>> getCuisines() {
return _db
.collection('Cuisines')
.orderBy('cuisineid',descending: true)
.snapshots()
.map((snap) => snap.documents
.map((doc) => doCusine.fromJson(doc.data))
.toList());
}
Основной виджет:
return MultiProvider(
providers: [
StreamProvider<doUserProfile>.value(
value: DatabaseService().getCurrentUserFromSnapshot(uid),
),
StreamProvider(
create: (BuildContext context) => DatabaseService().getCuisines(),),
],
child: SafeArea()}}
Итак, проблема здесь в том, что мой объект cusine, полученный с помощью provider.of, всегда равен Null. У меня есть данные в моей базе данных firestore, я не знаю, есть ли какая-то проблема с синхронизацией данных из firestore в мое приложение или какая-то проблема с моей реализацией.
final List<doCusine> cusines = Provider.of<List<doCusine>>(context);
Что я делаю здесь неправильно?