问题标签 [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 - 带有 RiverPod 的 StreamProvider 不工作(尝试从 Provider 迁移)
我试图通过将简单的 FireStore auth Provider 示例迁移到 RiverPod 来了解 RiverPod。
这是我的身份验证服务:
在 main.dart 中,我创建了 2 个提供程序,因此我可以使用该服务并监听 AuthenticationService 内部的属性
这里是 SingIn 页面:
这适用于普通 Provider,但我无法让它与 RiverPod 一起使用
我所做的是:
我在 providers.dart 中创建了这些提供者
这个对吗?authStateChangeProvider 正在使用 authenticationServiceProvider
什么时候使用它:
我的“firebaseUser”不再是用户,而是 AsyncValue
当我将其更改为:
它正在工作,但是我现在使用 AsyncValue 做错了什么
flutter - 如何在 Flutter 中使用 Riverpod 中的异步值?
我在我的应用程序中使用 Riverpod 进行状态管理。这是我的代码。
主要方法——
AuthStateChanges-
如果这是他们第一次登录应用程序,我想向用户显示一个入职屏幕。但我不知道如何实现它,因为我不能async
在auth.when()
. 我怎么做?
flutter - Riverpod 的 StreamProvider 在读取 Hive 的盒子时卡在加载中 | 扑
我正在尝试使用 Hive 将我保存的用户数据流式传输到一个名为“用户”的框中。这是为了显示基于用户提供的信息的屏幕。目前,该框不包含任何数据,因此我希望以下代码显示蓝屏。否则它应该是绿色或紫色。我必须知道何时读取完成的值,以便我知道返回的值是否null
表示数据尚未加载或用户框为空。
我正在使用 Riverpod 进行状态管理和这种方法。
我实现了以下两个提供程序
并想像这样使用它们:
这个实现的问题是它总是显示一个黄色的屏幕,这意味着它卡在加载中。有任何想法吗?
flutter - Using same riverpod state provider for multiple pages
I I'm using provider for state management (actually riverpod) In my project I have a tabview and use each tab for a category and each shows news list. tabview size is not fix and I use same page for all tabs and pass category id to page.
The problem is that newsProvider allways keep last category id and all pages show same news list. Who I can separate newsProvider list for each pages?
flutter - (Flutter / Riverpod)在任何情况下都不应该在 Riverpod 的提供者体内使用 ProviderReference.read 吗?
我有一个关于如何在 Riverpod 中使用 ProviderReference.read 的问题。
我在以下正式站点中发现了一个警告,不要在提供者的主体内调用 ProviderReference.read。
我可以在不听的情况下阅读提供者吗? https://riverpod.dev/docs/concepts/combining_providers/#can-i-read-a-provider-without-listening-to-it
不要在提供者的身体内调用阅读
但是,另一方面,我在下一页中找到了另一个关于 ProviderReference.read 的示例,其中 ref.read 用于提供程序的主体内部。
https://pub.dev/documentation/riverpod/latest/all/Provider-class.html
创建一个依赖于许多提供者的对象。所以,我想问:我仍然不应该在提供者的主体内调用 ProviderReference.read 吗?
如果是,让我再问一个问题:我应该如何处理以下我在提供程序主体内使用 ProviderReference.read 的代码。我希望有人给我一个好主意。
flutter - Riverpod 的 StreamProvider 只产生一次 StreamValue | 颤振和蜂巢
我编写了一个 StreamProvider,我在启动后立即收听,以获取有关潜在登录用户的所有信息。如果没有用户,那么结果将为空,监听器保持在加载状态,所以我决定发回一个空用户的默认值,让我知道加载完成。我必须这样做,因为 Hive 的 watch() 方法仅在数据更改时触发,而在启动时不会触发。所以在那之后,我希望 watch() 方法完成它的工作,但问题在于以下场景:
启动时:无用户 -插入用户 -> watch 方法被触发 -> 我得到插入的用户数据 -> 删除登录的用户 -> watch 方法没有被触发。
启动时:完整用户-删除用户->触发监视方法->我得到一个空用户->插入用户->未触发监视方法。
一段时间后,我发现我可以随心所欲地使用所有 CRUD 操作,并且 Hive 的盒子做了它应该做的事情,但是 watch() 方法在它被触发一次后不再被触发。
流提供者:
聆听者:
CRUD 方法:
知道如何告诉 StreamProvider watch() 方法应该保持活动状态,即使一个值已经发出?
flutter - 在 Flutter Web 中重新加载后 Riverpod 不保持状态
我试图使用 Riverpod 向 Web 应用程序添加分页,但似乎在重新加载页面后不会保持状态。然后我尝试了官方计数器应用程序示例,在增加计数并重新加载后,计数确实重置为 0。
任何想法为什么会发生这种情况?
flutter - 如何在 Riverpod 中进行 http.post 调用?
我正在尝试进行后调用,将表单数据发送到 API 并获得响应。
我想做一个网络后调用,它发送手机、密码,并从 user_repo 获取用户数据并将其存储在将来要访问的状态中。
我不确定如何添加用户状态提供程序并在按下按钮时调用它。
例如:
我的 AuthScreen:这是实现 Ui 的地方。
我应该为 onPressed 写什么?context.read(userState)??
用户模式:
用户回购:
状态:
编辑: Tayormi 提供的解决方案效果很好。
我添加了一些代码来存储用户以根据需要访问。
在状态提供者下方创建以存储用户:
将 userProvider 修改为:
在 userController 的 try 块中,我们可以更新 userData 如下:
非常感谢@Tayormi 帮助我找到解决方案..
flutter - 带有 Riverpod 的多个状态的 stateNotifier
我对如何将 stateNotifier 与 Riverpod 一起使用感到困惑。那里的大多数教程都使用了反例,这很好,但对我来说仍然不是很清楚。我正在尝试实现具有 2 个状态的 stateNotifier: isDrawerOpen 和 isDrawerColor 返回布尔结果。一些函数会触发这些状态的变化。以下是我已经实施的并且可以真正使用一些澄清。
flutter - 带有 Riverpod 的 StateNotifier
我正在尝试使用 Riverpod stateNotifier 来打开和关闭抽屉。目的是如果抽屉打开,那么主屏幕将通过 AnimatedContainer 缩小/增长。我不确定问题是什么,但值 x 和 y 没有被 AnimatedContainer 读取或观察。另外我正确使用 stateNotifier 吗?
主屏幕
抽屉供应商