问题标签 [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.
ios - 如何在 iOS 中收听 Cloud Firestore 流(在 Android 上运行良好)?
我可以从我的应用程序中成功读取和写入云 Firestore 数据库。但是,当在 iOS 模拟器(或真实设备)上运行时,我无法通过 Riverpod 或标准 StreamBuilder 监听流以实时更改文档。收听流时不会引发错误或异常。流存在,只是其中没有数据。在 Android 模拟器上运行时不存在此问题。
流提供者
流听:
在这两种情况下,第一个 print 语句都会触发,但第二个 print 语句永远不会在 iOS 上触发。它将在 Android 上正常工作。
扑医生
flutter - 为什么我的应用程序没有在一个简单的计数器中通过 ProviderListener?
我正在测试riverpod,但它不起作用。
我只想拥有一个典型的计数器,当它达到两个时它会转到另一个屏幕。计数器工作但不启动第二个屏幕或通过 ProviderListener。
我还没有找到一个 ProviderListener 示例来指导我。
Lorem ipsum dolor sit amet, consectetur adipiscing elit。Vivamus vel sem velit。Sed 调味品 convallis sollicitudin。Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus。Quisque maximus congue porttitor。
flutter - 使用 Riverpod 在 Flutter 中实现拉动刷新
我是 Riverpod 的新手,并试图在我的 Flutter 应用程序中使用 Riverpod 实现拉取刷新,但似乎在网上找不到任何好的教程。有没有人在使用 Riverpod 时在他们的 Flutter 应用程序中实现了拉动刷新。我到处寻找教程,但我发现的大多数是应用程序加载时的简单网络请求。提前致谢!
将这些依赖项用于riverpod 和网络请求。flutter_riverpod:^0.12.1 dio:^3.0.10
flutter - Flutter Riverpod/Provider:为 stateNotifier 设置初始状态
所以我想要一个提供者,其初始状态将是用户的位置,这就是我现在拥有的,对吗?
这是正确的方法吗?我现在如何为此声明全局提供程序变量?super(null) 让我担心。但我不能只放“super(_location.getLocation())”
另外,我应该如何实例化我的全局提供者变量?
flutter - Riverpod - ref.onDispose 在创建对象时调用,而不是在释放时调用
我有这个 ViewModel 和Riverpod提供者:
当我导航到具有 的页面时signInViewModelProvider
,它会打印到控制台:
然后从堆栈中弹出页面不Navigator.pop()
打印任何内容。
然后再次导航到页面以相同的顺序打印相同的 3 行。
我希望onDispose
在 之后被调用Navigator.pop()
,而不是在导航到读取提供程序的页面时调用。为什么onDispose
在创建后直接调用,而不是在使用时调用Navigator.pop()
(当我期望提供程序被处理时,因为没有其他视图引用它)?
编辑:我访问提供者final viewModel = context.read<SignInViewModel>(signInViewModelProvider);
ios - Flutter:询问位置权限会暂停所有应用程序执行,如何让它异步运行
当我的应用程序请求位置权限时,整个应用程序将停止,直到对话框完成(例如,如果在页面转换期间弹出权限对话框,则转换将冻结中间转换,直到对话框解决)。
从字面上看,它会导致执行暂停。
使用:flutter_riverpod,位置。
违规代码:
用户界面代码:
flutter - 如何在 Flutter 中使用 Riverpod 关闭 StreamProvider
我正在使用 Riverpod StreamProvider。
我想知道两件事:
1 - 我从 youtube 视频中了解到有关流提供程序的信息,以及视频中的人编写的代码如下:
问题是:根据我的理解,使用流方法需要我使用“async*”,那么为什么这里不需要呢?
2 - 我如何确保一旦流的数值等于 5,流提供程序将关闭并停止更新 UI?
太感谢了!
flutter - Flutter Riverpod 在没有上下文的情况下设置值
我有一个应用程序,其中需要在 Feed 屏幕上显示视频上传进度指示器。返回上传进度的代码位于视频客户端类中,该类不在 Feed 屏幕的小部件树中,并且在视频开始上传时 Feed 屏幕甚至没有打开。
我想要做的是使用 Riverpod 在视频客户端类中全局更新上传值,以便在打开提要屏幕时显示上传进度。
问题是视频客户端是一个单独的类,没有任何构建上下文,我正在尝试更新值。我听说 Riverpod 可以在没有构建上下文的情况下设置状态。但是我可以看到更新状态的唯一方法仍然需要上下文。
在 main 函数中,我在此处添加提供程序范围:
我有一个上传模型,它扩展了更改通知器以更新值:
在 Feed 小部件中,我有以下代码来监视和更新上传小部件:
但是当我去更新视频客户端类中的上传值时,我看不到任何不需要上下文的方法,我想我需要再次在视频客户端类中添加提供程序,如下所示:
然后我想从 UploadModel 类中使用 setBytesUploaded() 访问设置值,但我无权访问它,我发现的唯一示例如下所示,需要上下文:
谢谢
flutter - Flutter 中的依赖注入——不同方法的影响
在 Flutter 中,我对如何为类创建参数以及如何创建这些参数的最佳方式感到有些迷茫。通常,参数只是注入另一个类以执行任务的类。这些参数如何在功能方面创建似乎并不重要,因为代码适用于各种创建方法。我看到网上人们谈论服务定位器、单例、依赖注入。Riverpod 在网站上声明“提供者完全替代了单例、服务定位器、依赖注入或继承小部件等模式。” 所以我想我不需要服务定位器,因为我使用的是 Riverpod。但是,我在网上找不到任何关于如何向 Riverpod 提供程序注入服务的信息。我可以看到您可以阅读没有上下文的提供程序ProviderContainer().read
但这是用作服务注入吗?这是一个单身人士这么多的服务定位器?在 Riverpod 示例中,它声明您不需要ProviderContainer().read
Flutter,这听起来不像是服务定位器之类的替代品:
这是一个代码示例,类中的一个字段是一个 ViewModel,它将一些用例作为参数。这里的用例是领域层操作类,它们调用存储库来执行 API 请求或本地存储操作等外部操作。
所以我只是在字面上创建了它们,就像SavePasswordLocallyUseCase()
,以便注入它们。这绝对是最简单的方法,代码最少。我想它可能效率较低,因为它每次都在创建一个新的,尽管我认为这通常不会产生明显的差异。这些以这种方式创建的参数会被垃圾收集器清理掉吗?这样做的后果是什么?
如果我必须注入一个类型AuthenticationService
,我应该使用服务定位器还是内联创建它们AuthenticationService()
,或者使用 Riverpod 的ProviderContainer.read()
?
flutter - 如何在构建时调用 futureprovider (riverpod)
我有一个显示产品的简单页面,我正在尝试使用riverpod 和futureprovider,但是仅在我第一次访问该页面时才调用future?