我收到错误消息:在此设置小部件上方找不到正确的 Provider<User>(已修复)
Posted
技术标签:
【中文标题】我收到错误消息:在此设置小部件上方找不到正确的 Provider<User>(已修复)【英文标题】:I get the error: Could not find the correct Provider<User> above this settings widget (ALREADY FIXED) 【发布时间】:2020-06-18 05:22:45 【问题描述】:固定: 在materialapp之前我没有设置streamprovider
我有这个:
final user = Provider.of<User>(context);
return StreamBuilder<UserData>(
stream: DatabaseService(uid: user.uid).userData,
builder: (context, snapshot)
if(snapshot.hasData)
UserData userData = snapshot.data;
我有一类用户:
class User
final String uid;
final String email;
final String instagram;
String age;
String gender;
bool account;
User(this.email, this.age, this.gender, this.uid, this.instagram, this.account,);
我不知道是什么问题,我在其他地方用过它,它工作正常
这里是错误日志:
Error: Could not find the correct Provider<User> above this Settings Widget
要修复,请:
确保提供程序是此设置小部件的祖先 向 Provider 提供类型 向消费者提供类型 向 Provider.of() 提供类型 确保使用了正确的context
。
【问题讨论】:
您能否发送错误日志,这可能对您有所帮助。 我已经用错误日志更新了它 【参考方案1】:确保在小部件树中的设置小部件上方有 Provider,为此,您可以通过使用 Provider() 包装整个材质应用程序来从提供者传递用户类,或者只需使用 Provider 包装设置小部件
Provider<User>(
create:(context)=>User(),
child:MaterialApp(
//app
),
),
或
Provider<User>(
create:(context)=>User(),
child:SettingsWidget(
//app
),
),
【讨论】:
他只是在加载而不是从中获取数据以上是关于我收到错误消息:在此设置小部件上方找不到正确的 Provider<User>(已修复)的主要内容,如果未能解决你的问题,请参考以下文章
ProviderNotFoundException(错误:在此主页小部件上方找不到正确的 Provider<EntryProvider>
错误:在此 UpdateSupervisor 小部件上方找不到正确的 Provider<NewUser>
错误:在此小部件上方找不到正确的提供程序 <List<Auftrag>>