在我的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(...)
(如果我们只需要重置状态)。