当我看到这个错误时,我想在 Firebase 存储中上传一张图片:
The provider you are trying to read is in a different route.
所以我开始研究这个 Provider 是什么,现在我明白我需要将我用来上传图片的页面包含在Provider
type的祖先的同一路由中Database
。
因此,我在“LogInPage”通过这样的导航器创建的“Registration_form”中遇到了问题:
void navigateToRegistrationForm(context) {
Navigator.push(context,
MaterialPageRoute<void>(builder: (BuildContext context) {
return Reg_Form();
}));
return;
}
现在我正在更改类似于以下内容的代码:
void navigateToRegistrationForm(context) {
Navigator.push(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) => Provider<Database>(
create: (_) => FirestoreDatabase(),
builder: (context, child) => Reg_Form(),
)));
return;
}
但我不明白我应该传递给该create
方法的内容......我只想Reg_Form
在正确的路径中创建调用 Firebase 函数以将文件放入 Firebase 存储中,所以我认为这FirebaseDatabase
不适合我的需要。