小编neo*_*x97的帖子

如何从 Riverpod 中的另一个提供程序修改 StateNotifier 提供程序的状态?

我对 flutter 和 Riverpod 很陌生,所以如果问题不清楚,我非常抱歉,如果是这种情况,请告诉我

我有 2 个提供程序,一个监听 FireStore 集合的实时更改,另一个是列表服务,用于处理从 FireStore 接收的实际项目列表。我想将收到的列表添加到 itemList 中,然后通知监听 itemListProvider 的小部件,以便可以重建 listview

项目列表状态通知程序提供者

final itemListProvider =
    StateNotifierProvider<ItemListService, List<Item>>(
        (ref) => ItemListService([]));
Run Code Online (Sandbox Code Playgroud)

实时监听器

final firestoreListUpdateWatcher = Provider((ref) {
  //Listens to a stream which provide query snapshot, this works as intended
  final firestoreListWatcher = ref.watch(firestoreListProvider);
  
  //using `ref.watch(itemListProvider.notifier)` because i want to be able 
  //to change the state from this provider
  final itemListProvider = ref.watch(itemListProvider.notifier);
  
  firestoreLisUpdateWatcher.when(
      data: (value) {
          for (int i = 0; i < value.docChanges.length; i++) …
Run Code Online (Sandbox Code Playgroud)

android firebase flutter riverpod

5
推荐指数
1
解决办法
4772
查看次数

标签 统计

android ×1

firebase ×1

flutter ×1

riverpod ×1