Android 找不到正确的提供程序<;用户模型>;在这个生成器小部件上面
这是一个错误 这是因为您使用了不包含提供程序的Android 找不到正确的提供程序<;用户模型>;在这个生成器小部件上面,android,flutter,Android,Flutter,这是一个错误 这是因为您使用了不包含提供程序的BuildContext 由你选择。有几个常见的场景: 您在main.dart中添加了一个新的提供程序,并执行了热重新加载。 要修复此问题,请执行热重启 您试图读取的提供程序位于不同的路径中 提供者是“有范围的”。所以,如果在路由中插入一个提供者,那么 其他路由将无法访问该提供商 您使用了一个BuildContext,它是您试图读取的提供程序的祖先 确保生成器位于您的MultiProvider/Provider下。 这通常发生在创建提供者并尝试
BuildContext
由你选择。有几个常见的场景:
- 您在
中添加了一个新的提供程序,并执行了热重新加载。 要修复此问题,请执行热重启main.dart
- 您试图读取的提供程序位于不同的路径中 提供者是“有范围的”。所以,如果在路由中插入一个提供者,那么 其他路由将无法访问该提供商
- 您使用了一个
,它是您试图读取的提供程序的祖先 确保生成器位于您的MultiProvider/Provider下。 这通常发生在创建提供者并尝试立即读取它时 例如,而不是:BuildContext
Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>()), ), }
import 'package:geolocator/geolocator.dart' show Geolocator, Position;
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:geocoding/geocoding.dart';
class SearchingScreen extends StatelessWidget {
AuthBase authBase = AuthBase();
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (_) => UserModel(),
child:HomeView(),
);
}
}
import 'package:geolocator/geolocator.dart' show Geolocator, Position;
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:geocoding/geocoding.dart';
class SearchingScreen extends StatelessWidget {
AuthBase authBase = AuthBase();
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (_) => UserModel(),
child:HomeView(),
);
}
}