Я пытаюсь реализовать базовое c управление состоянием в моем приложении Flutter. Где-то вверх по дереву виджетов у меня есть провайдер для пользователя. Виджеты, расположенные ниже, могут получить доступ к Пользователю с помощью Виджета пользователя-потребителя. Однако один виджет (WidgetB в приведенном ниже коде) создается с использованием Navigator.pu sh () и не может получить доступ к пользователю. Нажатие на кнопку выдаст ошибку:
Ошибка: не удалось найти правильного провайдера над этим виджетом потребителя
floatingActionButton: FloatingActionButton(
child: Icon(Icons.play),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Consumer<User>(
builder: (context, user, child) => WidgetB(user: user),
),
),
);
},
),
Как получить доступ к пользователю в WidgetB ( или у какого-нибудь ребенка Widget of WidgetB)?