问题标签 [flutter-provider]
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 - 如何将上下文传递给提供者的第二个小部件树
我尝试将上下文传递给第二个小部件树(在函数中),但出现错误:
尝试将 Provider 与 Listenable/Stream (Model2) 的子类型一起使用。这可能是一个错误,因为 Provider 不会在 Model2 更新时自动更新依赖项。相反,请考虑将 Provider 更改为处理更新机制的更具体的实现,例如: - ListenableProvider - ChangeNotifierProvider - ValueListenableProvider - StreamProvider
相同的第一个小部件StatefulWidget
:
第二(我从这里传递上下文):
flutter - 如何防止提供者处置模型?
在应用程序主页上,我设置了Model2
对数据进行 API 调用的设置。然后用户可以导航到其他页面 ( Navigator.push
)。但我想Model2
在用户按下(_onBackPress()
)时进行 API 调用,以便刷新主页上的数据。当我打电话时,它给出了错误:
未处理的异常:错误:在此消费者小部件上方找不到正确的提供者
如果我添加Consumer
到 Page2 它会给出错误:
错误:在此消费者小部件上方找不到正确的提供者
StatefulWidget
在主页:
在第 2 页中:
flutter - 如何在有条件的情况下致电提供者?
在应用程序主页上,我设置了Model2
对数据进行 API 调用的设置。然后用户可以导航到其他页面 ( Navigator.push
)。但我想Model2
在用户按下(_onBackPress()
)时进行 API 调用,以便刷新主页上的数据。
问题是 Model2 没有为所有用户初始化。但是,如果我调用final model2 = Provider.of<Model2>(context, listen: false);
未初始化 Model2 的用户,则会出错。
我如何只能在有条件的情况下致电提供者?例如:if(user == paid)
StatefulWidget
在主页中:
在第 2 页中:
替代方法(可能更简单):如何在上一页(主页)上调用提供者Navigator.of(context).pop();
?
TLDR:调用 API 的最佳解决方案是什么,以便在用户返回上一页时刷新数据(但仅适用于某些用户)?
flutter - 如何通过导航器传递提供者?
我需要将 provider( Model2
) 传递给homepage
to,Page2
因此当用户返回homepage
( onWillPop
) 时,我可以从 provider() 进行 API 调用Model2
并更新homepage
。
但是当我打电话时_onPaidBackPress(context)
出现错误:
未处理的异常:错误:在此消费者小部件上方找不到正确的提供者
StatefulWidget
在主页:
在第 2 页中:
感谢帮助!
flutter - 如何设置从另一个 StreamProvider 获取参数值的 StreamProvider?
我正在为我的应用程序使用 FirebaseAuth 和 Firestore。
'User' 是一个模型,它代表 Firestore 上的文档,并使用 FirebaseUser 的 uid 作为其 DocumentId。
为了获得“用户”,我必须从 FirebaseUser 传入 uid。
我的想法是设置一个 FirebaseUser 的 StreamProvider,然后设置另一个 User 的 StreamProvider,它以 FirebaseUser 作为参数。
但是发生了错误,我找不到这个问题的解决方案,任何建议都会对我很有帮助。
flutter - Flutter:在 Mock 中模拟流时提供程序错误
我有一个包含流的块对象:
我正在尝试模拟这个对象,以便使用Mockito进行另一个测试:
然后我构建了一个通过提供程序包提供这个块的测试小部件:
但是当我执行测试时,此提供程序构造失败并出现错误:
在构建 Provider(dirty, state: _DelegateWidgetState#9ee17) 时抛出了以下断言:尝试使用具有 Listenable/Stream (Bloc) 子类型的 Provider。
这可能是一个错误,因为 Provider 不会在 Bloc 更新时自动更新依赖项。相反,请考虑将 Provider 更改为处理更新机制的更具体的实现,例如:
- ListenableProvider
- ChangeNotifierProvider
- ValueListenableProvider
- 流提供者
该应用程序运行正常,但测试失败,有什么帮助吗?
flutter - 我可以用 Provider 包装 MaterialApp 小部件吗?
我是 Flutter 的新手,我正在尝试使用提供程序创建一个应用程序。我用 ChangeNotifierProvider 包装了 MaterialApp 小部件,该应用程序正常工作,我可以按预期使用提供程序。我需要知道这样做可以吗,我会遇到任何问题吗?
在所有示例代码中,他们在 MaterialApp 小部件的“主页”下使用 Provider。我在提供程序中使用了 MaterialApp。
flutter - 如何重新打包 Flutter 插件以用于 Flutter Web?
对于这种特定情况,我正在尝试在 Flutter Web 上使用 Provider,
但我确信这不会是最后一个颤振包
我将在颤振网络上使用,所以我试图理解
作为一般情况如何解决这个问题。
我遇到了这个问题:
在 Flutter Web 中使用 Flutter 移动包
这个答案:
您还可以使用引用为 Flutter_web 重新打包的 Flutter 框架的库。像提供者一样被分叉[link]。您只能使用插件 atm。
据我了解,建议的程序是
- 叉
- 重新包装
- 进口
虽然“叉子”是直截了当的,但觉得有必要问:
- 如何重新打包 Flutter 插件以用于 Flutter Web?
因为这次我很幸运,凯文已经做了重新包装
- 我如何导入它?[编辑:没关系... ]
先感谢您
flutter - 跨路线提供者,但在 MaterialApp 之后
我有一个需要访问的类MaterialApp
context
,但它也需要从所有路由进行全局访问。
要创建一个全局提供者,我可以用 包装MaterialApp
,Provider
但这样的提供者无权访问context
. 因此,我必须在MaterialApp
.
我意识到我可以用提供者包装每条路线,因为它是无状态的,但我想知道是否有更好的方法来做到这一点。
提前致谢!
flutter - 如何从另一个提供者传递超过 1 个值的数据?
我正在使用提供程序颤振包,但我想从另一个提供程序获取数据,并且有一个使用ChangeNotifierProxyProvider
. 但是我如何在属性中传递超过 1 个值,builder
因为在官方文档中只使用 1 个值