#flutter #flutter-provider #flutter-change-notifier
#flutter #flutter-provider #flutter-change-notifier
Вопрос:
Изначально я разрабатывал свое приложение с помощью простых поставщиков уведомлений об изменениях. Позже я решил использовать Firestore и StreamProvider. Теперь у меня есть поток, который возвращает список. Я хочу заполнить свой список в уведомителе об изменениях после получения данных от поставщика потока. Уведомитель об изменениях имеет разные функции, которые мои виджеты используют для получения разных подмножеств центрального списка. Вот почему я не хочу, чтобы виджеты напрямую использовали поток. Я хочу, чтобы они использовали поставщика уведомлений об изменениях, который будет обновляться StreamProvider.
return MultiProvider(
providers: [
ChangeNotifierProvider<TodoProvider>(
create: (_) => TodoProvider()),
StreamProvider<List<Todo>>.value(
value: new DatabaseServices(
FirebaseAuth.instance.currentUser.uid)
.getUserTodoList()),
],
child: MaterialApp(
title: 'Awesome Todo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: AppNavigationBar(),
),
// child:
// AppNavigationBar()
)
Теперь, как вы можете видеть, в массиве с несколькими поставщиками у меня есть мой поставщик уведомлений об изменениях и поставщик потоков. Я хочу обновить список в классе TodoProvider, когда получу обновленный список из DatabaseService.getUserTodoList() . Полезен ли прокси-провайдер в этом случае? Спасибо, что прочитали сообщение. Любая помощь будет принята с благодарностью.
Комментарии:
1. Да, прокси-провайдер был бы полезен в этом сценарии. Это руководство помогло мне понять архитектуру провайдера, ознакомьтесь с ней.