简体   繁体   English

MultiProvider 必须指定一个子项 'package:provider/src/inherited_provider.dart': Failed assertion: 'builder != null || 孩子!=空'

[英]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.

相关问题 必须向文本小部件提供非空字符串。 &#39;package:flutter/src/widgets/text.dart&#39;: 失败的断言: line 360​​ pos 10: &#39;data != null&#39; - A non-null String must be provided to a Text widget. 'package:flutter/src/widgets/text.dart': Failed assertion: line 360 pos 10: 'data != null' &#39;package:flutter / src / widegets / text.dart&#39;:断言失败:第235行pos 15:&#39;数据! = NULL&#39;:不是真的 - 'package:flutter/src/widegets/text.dart':failed assertion:line 235 pos 15 : 'data ! = NULL ' : is not true Flutter 多提供者和消费者在子小部件中获得 null - Flutter multiprovider and consumer getting null in child widget Flutter - _AssertionError('package:flutter/src/widgets/framework.dart':断言失败:第 4937 行 pos 12:'child == _child':不正确。) - Flutter - _AssertionError ('package:flutter/src/widgets/framework.dart': Failed assertion: line 4937 pos 12: 'child == _child': is not true.) Error 'package:flutter/src/paintings/_network_image_io.dart':断言失败:第 25 行 pro 14:'url:= null'。 不是真的。StreamBuilder - 'package:flutter/src/paintings/_network_image_io.dart':Failed assertion: line 25 pros 14: 'url != null': is not true.StreamBuilder Flutter:失败的断言:&#39;builder!= null主页!= null - Flutter: Failed assertion : 'builder != null home != null 断言失败:boolean 表达式不得为 null flutter - Failed assertion: boolean expression must not be null flutter 与服务提供商的通信失败:无效的Twitter和android - Communication with the service provider failed:null Twitter & android 窗口小部件提供程序中的服务为空 - Service is null in widget provider Flutter:未处理的异常:失败的断言:布尔表达式不能为空 - Flutter: unhandled Exception: Failed assertion: boolean expression must not be null
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM