使用 Riverpod_generator 时如何防止提供程序自动处置

iDe*_*ode 5 flutter riverpod riverpod-generator

我正在使用riverpod_generator,但我没有看到任何让提供者保持活力的方法。生成器代码实际上相当于

final fooProvider = FutureProvider.autoDispose((ref) async => 0);
Run Code Online (Sandbox Code Playgroud)

但在上面的代码中我可以删除autoDispose但如何使用@riverpod生成器做到这一点?

@riverpod
Future<int> foo(FooRef ref) async {
  return 0; // Where to define `autoDispose`? 
}
Run Code Online (Sandbox Code Playgroud)

iDe*_*ode 17

当您使用生成器生成所有提供程序时,它们会自动处置。但你可以设置keepAlive改变这种行为。

@Riverpod(keepAlive: true)
Future<int> foo(FooRef ref) async {
  return 0;
}
Run Code Online (Sandbox Code Playgroud)