问题标签 [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.
flutter - 如何使用 Flutter Riverpod 充当 ChangeNotifierProxy Provider?
只是想知道是否有任何方法可以以某种方式使用 Riverpod 包,它就像 ChangeNotifierProxy Provider 一样工作。我制作了这个简单的代码,其中“MyFirstClass”更改其属性时应更新“MySecondClass”。在“MySecondClass”中,是一种在“MyFirstClass”发生更改时使用数据/变量的方法。
到目前为止,当我按下按钮并执行 onPressed 函数时,'MySecondClass' 会更新一次,但即使我再次按下按钮也会保持不变。
这是提供者和类的部分:
如果你想复制这个例子的整个代码,这里是:
flutter - 如何在riverpod的statenotifier中访问值和函数
我使用 inriverpod 实现了用户身份验证,statenotifier
但我不知道它是如何以这种方式工作的。我必须创建两个提供程序,一个StateNotifierProvider
用于读取值,另一个Provider
用于statenotifier
访问statenotifier
.
这是我的 statenotifier 类
这就是我访问 statenotifier 的方式
这很好用,但我需要知道这是正确的方法还是我错了。有没有其他方法可以实现我正在做的同样的事情?请给出解决方案。
而且我所做的也是正确的,请告诉我它是如何以这种方式工作的。我需要清楚地了解它是如何工作的。
提前致谢 :)
flutter - 将 FutureProvider 变成 Provider
我FirebaseAuth
用于身份验证,并定义了以下提供程序:
数据库依赖于用户,所以我只能在用户登录后创建它。问题是数据库创建是异步的,所以它的提供者必须是 FutureProvider。
这将使整个应用程序的代码更加繁琐。我想让应用程序的代码更databaseFutureProvider
简洁。Provider
怎么可能做到?
编辑
最好让数据库创建成为身份验证过程的一部分,这样authStateChangesProvider
只有在数据库创建后才会触发。类似于以下内容:
这样,只有authStateChangesProvider
将成为 FutureProvider。但我对 Riverpod 还很陌生,我不确定是否以及如何在另一个提供程序中创建一个提供程序。
flutter - 如何正确开始和结束或动画和更改其他类颤动的文本
我正在学习颤动,我想从 AlertDialog 响应(基本上来自其他类)开始动画并设置应用栏标题“同步”,然后在异步操作后结束动画并再次设置标题。
所以目前我正在使用 GlobalKey 和 Riverpod(StateNotifier) 来实现这一点。在我调用异步操作之前创建 MainScreen GlobalKey 并使用其他类中的 GlobalKey
并在异步操作后结束动画:
代码 :
和 MainScreen 的 AppBar 标题属性中的监听变量
我觉得这种做法不对,是吗?
这里有一些额外的片段 syncProgressProiver:
MainScreen AppBar 标题
像这样
flutter - 如何使用 shared_preferences 库实现 Flutter Riverpod FutureProvider?
我目前没有 FutureProvider + shared_preferences 的实现:
我想使用shared_preferences
包来保持状态,但我不太确定如何将我当前的实现转换FutureProvider
为用作获取/设置shared_preferences
用途的实现。async/await
我基本上想在应用程序启动时shared_preferences
使用它的方法来“加载”来初始化通知程序,然后调用通知程序方法中的方法和.get
shared_preferences
set
loginAction
logoutAction
flutter - I want to initialize the state. ( RiverPod : StateNotifier )
I want to initialize the state of super.
Error : The operator '<' isn't defined for the type 'Type'.
Provider
StateNotifier
flutter - Riverpods with hooks Flutter - 使用 Provider
有人可以举一个最好使用riverpod_hooks在Riverpods中进行额外状态修改的示例 - 我希望能够在不制作额外小部件的情况下使用它,例如:
我在理解 Riverpods 文档中关于在实施后使用提供程序方面有点困难。我了解增量部分 .state++,但我找不到初始化后更改状态值的明确示例。如 x 初始化为零,但您只想将其设为 42 或输入值。
例如,我有一个 Gender {male, female, non-binary} 的枚举,并且我创建了一个 GenderProvider,但我无法找出能够使用按钮在我的应用程序中更改性别的最佳方法。我也不完全确定 Provider 和 RiverPods 有多少相似之处,似乎有很多语义差异?
这就是当前在我的代码中声明提供程序的方式:
在此先感谢,我很感激任何建议。
flutter - 在 Flutter 之外使用 StreamProvider 的 RiverPod 方式是什么 - 仅限 Dart
第一次使用 RiverPod 和一般的 Provider 概念。
目标:验证登录用户在我的帐户FireStore集合中有一个帐户信息文档。
我的代码基于RiverPod站点上引用的Flutter /firebase 启动器架构,作为如何使用 RiverPod 进行状态管理的示例。
我正在使用最新的 flutter_riverpod包。
我的最小化代码:
firestore_database.dart - 实现远离 ui 的模型/服务层。
account_setup_service.dart
这是我坚持的部分。其他一切都检查出来。如何accountStreamProvider
在仅 Dart 的上下文中使用 Flutter 的外部?同样,我的目标是简单地评估流是否为空或是否包含文档。
在 RiverPod 文档站点上,我阅读了“仅使用 Dart 读取提供程序之外的提供程序”参考,但是,我不确定在哪里使用它来使用流并评估数据(如果有的话)。
flutter - StateNotifierProvider 在应用程序重新启动之间不保持状态
使用flutter_riverpod: ^0.12.4并在 android 模拟器以及物理设备上进行测试。
重新启动应用程序后,登录屏幕state
值不会保留在 StateNotifierProvider 中,我做错了什么?
accountSetupProvider 的state
默认设置为介绍屏幕。单击介绍屏幕的 onPressed 按钮后,将state
更新为登录屏幕,并正确触发重建以显示登录屏幕。
但是,在颤振热重启或打开/关闭应用程序后,会显示介绍屏幕,而不是登录屏幕。在 Intro Screen 中单击 onPressed 后,现在设置为 Sign In 屏幕的不应该state
在重新启动之间持续存在并导致 Intro Screen 被跳过并显示 Sign In 屏幕吗?
正如您在下面看到的,main.dart
有一个初始 AppRoutes。根路由。在app_router.dart
,这个“根”屏幕打开root_screen.dart
,它是ConsumerWidget
我watch
的 StateNotifierProvider,在 中称为“accountSetupProvider” account_setup_provider.dart
。
主要.dart
app_router.dart
root_screen.dart
intro_screen.dart(仅包括onPressed
介绍屏幕的一部分,我希望将状态设置为新屏幕,即使在颤振热重启或应用重启后也是如此。)
account_setup_provider.dart(初始化到AppRoutes.intro
屏幕。)
flutter - 如何使用 StateNotifierProvider 中的 StreamProvider?
我尝试使用 StateNotifierProvider 中的 StreamProvider。
这是我的 StreamProvider,到目前为止工作正常。
现在我正在尝试填充我的购物车,以便从头开始将所有产品放入其中。
这是我的 CartRiverPod StateNotifier