Flutter 我发现错误:找不到正确的提供程序<;用户>;此设置小部件上方(已修复)
固定的: 在materialapp之前,我没有设置streamprovider 我有这个:Flutter 我发现错误:找不到正确的提供程序<;用户>;此设置小部件上方(已修复),flutter,dart,flutter-provider,Flutter,Dart,Flutter Provider,固定的: 在materialapp之前,我没有设置streamprovider 我有这个: final user = Provider.of<User>(context); return StreamBuilder<UserData>( stream: DatabaseService(uid: user.uid).userData, builder: (context, snapshot) { if(snapshot.hasData){
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;
}
我不知道问题出在哪里,我曾在其他地方使用过,而且效果很好
下面是错误日志:
Error: Could not find the correct Provider<User> above this Settings Widget
错误:在此设置小部件上方找不到正确的提供程序
若要修复,请执行以下操作:
- 确保提供程序是此设置小部件的祖先
- 向提供程序提供类型
- 向消费者提供类型
- 为Provider.of()提供类型
- 确保使用了正确的
上下文
Provider<User>(
create:(context)=>User(),
child:MaterialApp(
//app
),
),
提供程序(
创建:(上下文)=>User(),
孩子:MaterialApp(
//应用程序
),
),
或
提供程序(
创建:(上下文)=>User(),
孩子:设置swidget(
//应用程序
),
),
确保在小部件树中的设置小部件上方有提供程序。为此,您可以通过使用提供程序()包装整个material应用程序或仅使用提供程序包装设置小部件,从提供程序传递用户类
Provider<User>(
create:(context)=>User(),
child:MaterialApp(
//app
),
),
提供程序(
创建:(上下文)=>User(),
孩子:MaterialApp(
//应用程序
),
),
或
提供程序(
创建:(上下文)=>User(),
孩子:设置swidget(
//应用程序
),
),
你能发送错误日志吗?这可能是帮助你的有用信息。我用错误日志更新了它。你能发送错误日志吗?这可能是帮助你的有用信息。我用错误日志更新了它。他只是在加载,没有从中获取数据。他只是在加载,没有从中获取数据
Provider<User>(
create:(context)=>User(),
child:SettingsWidget(
//app
),
),