首页 > 解决方案 > 未找到提供程序异常

问题描述

我们有一个有两个按钮的封面。一个指向承包商的登录和注册页面,另一个按钮指向 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 小部件上方找不到正确的提供者

标签: firebaseflutterdartgoogle-cloud-firestoreprovider

解决方案


   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")),
       ),
     );
 }
   }

推荐阅读