我正在我的移动应用程序上完成身份验证流程,现在是注册时间,因此用户应该插入其数据(姓名、年龄...)但我收到错误 Provider isn't scoped
,因此我无法使用 { {1}} 函数。这是所有应用流程中 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
的变量的最后几行。