Я видел эту ошибку, но я не понимаю, почему она выбрасывается. В моем коде провайдер, безусловно, является родителем.
Я создаю провайдера здесь:
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
return user == null
? AuthView()
: StreamProvider<UserMetadata>.value(
value: Database(id: user.uid).userMetadata,
catchError: (_, error) => UserMetadata(uid: "", likedPids: List()),
child: Home(
title: "Siren",
),
);
}
, который охватывает класс Home. Затем Home вызывает класс PostList () в теле скаффолда
body: PostList(),
, который затем оборачивает PostItem (). Он также оборачивает класс Comments () для перехода при нажатии кнопки, например:
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => Comments(post: widget.post),
),
);
Я получаю сообщение об ошибке в классе Comments, что он не может найти поставщика.
Эта настройка работает для моего провайдера. Я инициализирую это в моем main.dart и куче мест в других местах. Однако, когда я вызываю провайдера UserMetadata, он выдает вышеуказанную ошибку. Я не могу понять, почему.