【问题标题】:Resetting the state of provider重置提供者的状态
【发布时间】:2021-09-11 16:11:05
【问题描述】:

我正在使用 Riverpod 管理我的 FLutter 应用程序的状态。

这里有我正在使用的两个提供程序:

final numFotosMensajeProvider = StateProvider<int>((ref){
  return 0;
});
final numVideosMensajeProvider = StateProvider<int>((ref){
  return 0;
});

我正在使用以下方法增加状态:

void incrementNumFotos(BuildContext){
    context.read(numFotosMensajeProvider).state++;
  }
  void incrementNumVideos(BuildContext){
    context.read(numVideosMensajeProvider).state++;
  }

喜欢:

incrementNumFotos(context);
incrementNumVideos(context);

每次我调用incrementNumFotos(context)incrementNumVideos(context) 时,状态都会正确更改。

但现在我需要将状态重置为 0。

我应该使用什么样的函数将提供者的状态重置为 0?

【问题讨论】:

  • 您使用的是哪个软件包?提供者、riverpod 还是 state_notifier?
  • @TirthPatel,正如我在问题中所说,我正在使用 Riverpod
  • @mvasco 您能否分享您尝试将状态设置为 0 的更新代码?
  • @TirthPatel,它有效,谢谢。
  • @TirthPatel,你介意用你的提议创建一个答案吗,我愿意接受它作为我问题的答案。

标签: flutter dart riverpod


【解决方案1】:

您可以通过context.read(numVideosMensajeProvider).state = 0; 将值重置为 0。

【讨论】:

    猜你喜欢
    • 2014-06-23
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    相关资源
    最近更新 更多