问题标签 [riverpod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1308 浏览

flutter - useContext 只能从 HookWidget 的 build 方法中调用

我正在 Riverpod 中创建一个简单的单值程序。有一个浮动操作按钮,单击时会增加计数器值。

这是MyHomePage小部件:

然后将其作为 Windows 应用程序运行。

在此处输入图像描述

0 投票
1 回答
2920 浏览

flutter - 等效于 Riverpod 中的 ChangeNotifierProvider 小部件

Riverpod 中是否有与 Provider 的 ChangeNotifierProvider 小部件等效的小部件?

用例是仅当父窗口小部件为 ChangeNotifierProvider/或在其窗口小部件树中具有 ChangeNotifierProvider 的页面已使用create. 我希望在弹出页面时自动处理提供程序,并从小部件树中删除 ChangeNotifierProvider 小部件,就像在 Provider 中一样。

0 投票
2 回答
1724 浏览

flutter - 带有 Riverpod 的 Flutter 导航栏

我试图管理我的状态,但我真的做不到。我想学习如何使用riverpod包在管理页面底部创建一个导航栏。

我设法管理我们单击的页面,但我看不到如何根据所选按钮返回正确的寻呼机

主要飞镖:

NavigationBarScreen.dart:

NavigationNotifier.dart:

0 投票
0 回答
73 浏览

flutter - 创建提供程序时调用方法

使用ChangeNotifierProviderProvider 中的小部件,您可以在创建提供程序时立即调用一个方法,例如 onInit( create)

ChangeNotifierProvider(create: (_) => SomeChangeNotifier(context: context)..onInit();

Riverpod 的做法是什么?

我试过了

final exampleProvider = ChangeNotifierProvider.autoDispose<ExampleChangeNotifier>((ref) => ExampleChangeNotifier(providerRef: ref)..onInit());

在小部件的构建中第一次调用或编辑onInit()时会调用thinking ,但不会调用它。exampleProviderreadwatch

0 投票
1 回答
348 浏览

flutter - Flutter Riverpod 小部件调用了两次

我正在尝试学习 Flutter 和 Riverpod 并尝试编写干净的代码。我刚刚注意到我的小部件被调用了两次。如何避免做不必要的操作?

我的项目只是一个导航栏,根据我们单击的按钮加载视图

我的导航栏屏幕:

我的导航通知程序:

我的导航栏模型:

在运行检查器中,我有这个:

编辑:在我的 navigationBarScreen 我改变了这个:

这样 :

context.read() 必须在 onPressed、onTap、...中使用,但我有相同的结果,我的 navigationBarScreen 被调用了两次...

0 投票
1 回答
1447 浏览

firebase - 如何使用 Riverpod 包从 Flutter 中的 firebase 集合中获取所有文档?

我正在使用提供程序包,并且有一个提供程序从全局变量idea 中获取其初始值,该全局变量idea 是一个json 数据列表,类型为List<Map<String, dynamic>>。

以下是它的代码,这是预期的。

现在我想要实现的是替换变量idea,而是使用我从firebase上的集合中获得的文档列表。

但我不知道如何从这里开始。

这是获取快照表单 Firestore 的第二个提供程序。

现在我该怎么做?我的其余代码依赖于ideasListProvider,因此我必须以某种方式为其提供来自firebase 上的idea 集合的文档列表。

0 投票
1 回答
2929 浏览

flutter - 里弗波德 | 真正需要多少个提供者才能只观察一个类的一个状态

我遵循了这个 优秀的 Riverpod 教程。在最后的步骤中,作者使用以下代码:

我尝试使用_buttonStateand_timeLeftProvider 并且据我所见,该应用程序可以正常工作。所以,我的问题是:

  • 有什么需要来创建和使用buttonProviderand timeLeftProvider
  • 真正需要多少个提供者?

非常感谢!

2020-10-26 更新(main.dart代码和输出图像)

我的main.dart代码是:

如果我点击“播放”按钮,然后让 10 秒过去,最后我在 2 种情况下得到相同的结果:

输出

2020-10-27 更新(main.dart不使用buttonProviderand的代码timeLeftProvider

即使没有使用,这也是输出buttonProvidertimeLeftProvider如下所示main.dart

我究竟做错了什么?

0 投票
2 回答
2767 浏览

flutter - Flutter 用 provider 和 riverpod 制作表单

我是 Flutter 的新手,我想升级我的代码。我有一个使用多个 textformfields 的表单,我想使用 provider 和 riverpod 转换此代码以提高可读性,但我不知道该怎么做。对于示例,我将代码简化为只有一个距离场,但还有许多其他距离场。

这是我的CalculatorScreen :

这是我的表单模型(这个模型包含我可以填写表单的所有字段,并允许我存储表单的值,一旦验证,然后使用这些值进行计算):

还有我的 FormValidatorService :

现在我想用riverpod转换它。我有点迷茫,互联网上的例子很少,我真的不知道如何管理我的表单起初我只是试图处理表单的验证,但它不起作用。

我的计算器屏幕:

还有我的 FormCalculatorNotifier :

提供者:

0 投票
1 回答
562 浏览

flutter - Flutter 使用 RiverPod 状态管理改变 Drawer 状态

通过使用RiverPod状态管理,我尝试进行自我改进以学习以及如何使用它,我做了一个简单的项目,我试图Drawer通过按下AppBar另一个类和文件上的图标来打开,不幸的是,我这样做了RiverPod示例代码我的代码无法正常工作,主类不会在单击图标时触发

只是我想通过点击图标打开抽屉AppBar

主文件:

AppBar类文件内容:

最后RiverPod上课

另一个问题是当我第一次启动应用程序时,我得到这个输出:

没有任何点击图标

0 投票
1 回答
1220 浏览

flutter - 从子项更改状态时,小部件不使用 Riverpod 重建

我正在使用 Riverpod 构建我的应用程序,并且正在努力构建一个简单的添加到收藏夹的功能。我有一个产品列表和一个子消费者小部件,它是一张带有添加到收藏夹按钮的卡片。

当我从子卡更改产品状态时,用户界面不会重建。

这是 git 存储库https://github.com/nisa10880/riverpod_difficulties