如何从GoRouter更新riverpod ?



在我的GoRouter中,我从URL检索查询参数:

builder: (context, state) {
String q = state.queryParams['q'] ?? '';
int pageNumberInt = int.tryParse(state.queryParams['page'] ?? '1') ?? 1;
// Return component...
} 

我想,在返回小部件之前,更新提供者的状态,但我如何访问"ref"执行如下操作:

ref.watch(searchFieldValueProvider.notifier).update((state) => q)

在任何情况下,您都需要访问Ref以便更新提供者状态。您可以将其作为参数或在类构造函数中传递。这完全取决于你的架构。

并且,需要使用的将是ref.read(...)ref.refresh(...)(如果我们只需要重置状态)。

最新更新