firebase - 未找到提供程序异常
问题描述
我们有一个有两个按钮的封面。一个指向承包商的登录和注册页面,另一个按钮指向 Hirer 登录和注册。为了检查用户是否已经登录到应用程序,我们使用了一个包含以下代码的 wrapper.dart:
@override
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
print(user);
enter code here
if (user == null) {
return Authenticate();
} else {
return Home();
}
}
}
这是我们的contractorwrapper 的代码片段。我们也为hierWrapper 提供了一个类似的。我们收到此错误:
/颤振(23750):══╡小部件库发现异常╞══════════════════════════␕════════ ════════════════════════ I/flutter(23750):在构建 ContractorWrapper(脏)时引发了以下 ProviderNotFoundException:I/flutter(23750):错误: 在此 ContractorWrapper 小部件上方找不到正确的提供者
解决方案
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (context) => User())],
child: MaterialApp(
home: Scaffold(
appBar: AppBar(
backgroundColor: Colors.blue,
title: Text("First appbar"),
),
body: Text("content")),
),
);
}
}
推荐阅读
- javascript - 当侦听器在文档上时,防止标签重定向
- java - 使用功能接口getter方法从类中获取字段名称的最佳策略是什么
- python - 使用来自另一个 DataFrame 中的行的值查找和替换 pandas.Dataframe 中的列标题
- javascript - 使用类与接口来提高内存和性能的成本
- c - 如何检索枚举类型变量中的元素?
- php - 如何使用 wordpress 数据库中的数据执行 IF/ELSE 语句?
- javascript - 在 Chrome 中覆盖 Cmd+Shift+[?
- javascript - 复选框被选中,即使我在外面点击
- python - 如何用python中其他csv文件的值替换csv的一个值?
- laravel - saveMany() 不存储数据