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