flutter - Provider 没有作用域,声明 Flutter 后访问不正确
问题描述
我正在我的移动应用程序上完成身份验证流程,现在是注册时间,所以用户应该插入其数据(姓名,年龄......)但我收到错误Provider isn't scoped
,所以我不能使用FirestoreDatabase
函数。这是Provider<Something>
所有应用程序流程中的第一个声明我认为我没有以正确的方式阅读它,也许context
是问题所在?
首先显示代码,这Database
是定义类的方式:
class FirestoreDatabase implements Database{//...some functions
现在代码:
Widget build(BuildContext context) {
return Provider<Database>( //Database is an interface to use FirebaseFirestore class methods and other
create: (context) => FirestoreDatabase(uid: widget.userUid),
child: Scaffold(...
里面Scaffold
有一个表格来获取用户输入,所以没什么特别的。最后,在保存时:
Future<void> _submit() async {
if (_validateAndSaveForm()) {
Database database = Provider.of<Database>(context, listen: false);
database.(some functions)
我认为问题出context
在我声明类型变量的最后几行database
。
解决方案
推荐阅读
- laravel - 如何在我的 laravel 应用程序中正确设置 mailgun?
- uml - 是否可以在 BoUML 中清晰地建模地图?
- mpv - 如何在 mpv 中设置默认播放速度?
- python - 安装张量流服务器模型时 etcd.service 的作业失败
- android - 如何通过 TextField 输入显示文本?
- c# - 无论局部角度如何,在全局 XZ 平面上移动相机(Unity)
- javascript - 在第一次编辑脚本运行后锁定单元格的值,并且不为其他编辑更新单元格值
- c++ - 错误 C2109:下标需要数组或指针类型(MEX、Windows 10)
- google-chrome-extension - 我们可以在特定时间(例如每天晚上 7 点)从我们的服务器触发 chrome 扩展的后台脚本吗?
- c# - 如何使用 System.Reflection 检索 NUnit 测试方法的“属性”属性的值?