这是我正在使用的代码
class Wrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
if (user == null) {
return LoginPage();
} else {
return MyHomePage();
}
}
}
并且用户文件具有
class User {
final String uid;
User({this.uid});
}
我收到此错误:
在构建Wrapper(dirty)时引发了以下ProviderNotFoundException:
错误:在此包装器小部件上方找不到正确的提供者
发生这种情况的可能是因为您使用的BuildContext
不包含提供者
你的选择。有几种常见情况:
BuildContext
是您尝试读取的提供程序的祖先。
确保包装器在您的MultiProvider / Provider下。
当您创建提供程序并尝试立即读取它时,通常会发生这种情况。答案 0 :(得分:0)
您需要在包装器上方的小部件中的某个位置提供User对象
类似这样的东西:
Provider(
create: (_) => User(),
child: Wrapper()
)