繁体   English   中英

如何使用 Riverpod 生成器生成提供程序?

[英]How to generate providers using Riverpod generator?

使用riverpod_generator ,我可以使用:

@riverpod
int foo(FooRef ref) => 0;

这相当于:

final fooProvider = Provider((ref) => 0);

但是我怎样才能为FutureProviderStateProvider等其他提供者做同样的事情呢?

通过代码生成,您可以使用简化您的供应商声明。 主要有五个提供程序,您可以看到如何为每个提供程序生成等效代码。

  1. Provider

    相当于

    final fooProvider = Provider((ref) => 0);

    @riverpod int foo(FooRef ref) => 0;
  2. FutureProvider

    相当于

    final fooProvider = FutureProvider((ref) async { return 0; });

    @riverpod Future<int> foo(FooRef ref) async { return 0; }
  3. StateProvider

    相当于

    final fooProvider = StateProvider((ref) => 0);

    @riverpod class Foo extends _$Foo { @override int build() => 0; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM