繁体   English   中英

如何在颤振中创建同一提供者的多个实例

[英]How to create multiple instances of same provider in flutter

如何在屏幕中创建同一提供程序的唯一实例,以便我可以创建 10 个计数器,每个计数器值独立于其他计数器。 有没有办法使用提供者来做到这一点? 如果我增加一个计数器的值,则不应增加其他计数器的值。 Riverpod 中有 (.family) 修饰符来实现我的目标,但我似乎没有看到任何使用提供程序的方法。

据我所知,没有办法用 Provider 轻松地做这样的事情。 Provider 的作者还创建了一个名为 Riverpod 的状态管理/依赖注入包。 Riverpod 有一个名为family的功能。 使用家庭,您可以通过使用 id 区分它们来创建多个提供程序实例。 id 可以是字符串、数字或不可变对象。

final counterFamily = StateNotifierProvider.family<CounterNotifier, int, int>((ref, id) {
  return CounterNotifier();
});

在 ConsumerWidget 中使用 CounterNotifier

final int id;
///

///
ref.watch(counterFamily(id));

暂无
暂无

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

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