【发布时间】:2021-11-20 23:55:07
【问题描述】:
在 Flutter 中使用 Riverpod,什么情况下实际上会触发仅放置在基本 Provider(即不是 StateNotifier Provider)上的“watch”的更新。比如下面这种情况:
final todosDatabaseProvider = Provider<TodosDatabase>((_) => TodosDatabaseImpl());
final todosRepositoryProvider =
Provider<TodosRepository>((ref) => TodosRepositoryImpl(ref.watch(todosDatabaseProvider)));
这里来自 github 项目:https://github.com/okaryo/CleanArchitectureTodoAppTrainingWithFlutter/blob/master/lib/data/data_module.dart
那么来自 TodosDatabaseImpl 实例的实际更新会触发对 todosRepositoryProvider 的“监视”类型更新?如果发生这种情况, todosRepositoryProvider 会像有效地重建/刷新一样吗??
【问题讨论】: