使用 Riverpod 提供 GoRouter 实例的正确方法是什么?

Ale*_*mia 4 flutter riverpod riverpod-generator riverpod-lint

我正在尝试提供一个GoRouterwith的实例riverpod。但是,这会导致显示“Riverpod_generator 包不支持 ChangeNotifier 值”警告:

在此输入图像描述

我的问题是,实现这一目标的正确方法是什么?

Rém*_*let 9

该警告是为了警告您,当状态被破坏时,Riverpod 既不会侦听 ChangeNotifier,也不会处理它(如果您使用 ,就会发生这种情况ChangeNotifierProvider)。

如果您不关心这些问题,您可以放心地忽略 lint。
我建议手动处理通知程序,如下所示:

@riverpod
// ignore: unsupported_provider_value
GoRouter example(ExampleRef ref) {
  final router = GoRouter(...);
  ref.onDispose(router.dispose);
  return router;
}
Run Code Online (Sandbox Code Playgroud)