Я использую Provider
для управления состоянием и для отдельной бизнес-логики от пользовательского интерфейса.
Я поставил несколько Provider
над MaterialApp
, чтобы получить доступ ко всему приложению (например, к информации о пользователе).
Поэтому я пытаюсь добавить несколько Provider
, которые используются только на некоторых страницах ниже в дереве виджетов.
Например, в моем потоке товаров я могу иметь: SelectItemPage
=> ConfirmItemPage
=> CheckOutPage
.
Но моя проблема в том, что Navigator.push()
каждый раз создавать отдельное дерево виджетов. Поэтому, если я инициализирую Provider
в SelectItemPage
, к нему нельзя будет получить доступ в ConfirmItemPage
или CheckOutPage
.
Я хочу, чтобы Provider
входил в область действия этого потока, но я не понимаю, как это сделать.
Как я могу это решить? Или мой подход неверен?
Изменить: я знаю, что могу использовать бурение опорой для прохода данных из SelectItemPage
=> ConfirmItemPage
=> CheckOutPage
, но это сложно поддерживать. Я хочу использовать Provider
вместо бурения.