【问题标题】:Null BuildContext when accessed before Material App在 Material App 之前访问时为 Null BuildContext
【发布时间】:2021-02-11 17:37:11
【问题描述】:

当试图访问上下文时,它返回 null(脏上下文)。对此有任何建议。我试图在 main() 函数之后直接访问。

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final bloc = Provider.of(context);
        return Provider(
      child: StreamBuilder(
          stream:
              Rx.combineLatestList([bloc] as List<Stream<dynamic>>),
          builder: (context, snapshot) {
            return MaterialApp(
              debugShowCheckedModeBanner: false,
              home: MyHomePage(),

           );
          }),
    );
  }
}

【问题讨论】:

    标签: flutter dart bloc


    【解决方案1】:

    您必须确保您已收到来自流构建器的数据:

    class App extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        final bloc = Provider.of(context);
            return Provider(
          child: StreamBuilder(
              stream:
                  Rx.combineLatestList([bloc] as List<Stream<dynamic>>),
              builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done && snapshot.hasData) {
                  return MaterialApp(
                      debugShowCheckedModeBanner: false,
                      home: MyHomePage(),
                  );
              }
              else
                  return CircularProgressIndicator();
              }),
        );
      }
    }
    
    

    【讨论】:

    • 实际上我在这个final bloc = Provider.of(context);上遇到了问题
    猜你喜欢
    • 2020-03-03
    • 2021-08-13
    • 2019-09-21
    • 2019-09-21
    • 2011-07-11
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    相关资源
    最近更新 更多