[英]MultiProvider must specify a child 'package:provider/src/inherited_provider.dart': Failed assertion: 'builder != null || child != null'
Main主要的
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MultiProvider(
providers: [
ChangeNotifierProvider.value(value: ProductProvider.initialize()),
], child: Builder(builder: _ProductProvider),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
Widget rootPage = Login(); //Pagina de inicio
Future<Widget> estadoDelUsuario() async =>
// ignore: await_only_futures
await FirebaseAuth.instance.currentUser == null ? Login() : Inicio();
// se pregunta si se esta loggeado y dependiendo de eso se muestra la pagina de inicio correspondiente
@override
void initState() {
//de los primeros metodos que se inician
// ignore: todo
// TODO: implement initState
super.initState();
estadoDelUsuario().then((Widget page) {
setState(() {
rootPage = page; //se muestra la pagina obtenida de la pregunta
});
});
}
@override
Widget build(BuildContext context) {
child:
MaterialApp(
theme: ThemeData(primaryColor: Colors.white),
debugShowCheckedModeBanner: false,
home: rootPage, //Pagina inicio
routes: buildAppRoutes(), //Rutas
);
}
}
I know the error is in here:我知道错误在这里:
ChangeNotifierProvider.value(value: ProductProvider.initialize()),
], child: Builder(builder: _ProductProvider),
But I don't know what can I put in there.但我不知道我能放什么进去。 Because the MaterialApp it's down.因为 MaterialApp 挂了。
There is more than one problem.问题不止一个。 One of them is about the use of MultiProvider.其中之一是关于 MultiProvider 的使用。 You need to set MultiProvider correctly.您需要正确设置 MultiProvider。
MultiProvider( // <--- MultiProvider
providers: [
ChangeNotifierProvider<MyModel>(create: (context) => MyModel()),
ChangeNotifierProvider<AnotherModel>(create: (context) => AnotherModel()),
],
Please read more from here , and I advise you to follow the steps carefully.请从此处阅读更多内容,我建议您仔细按照这些步骤操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.