'I got an Error when i resize my Flutter App

I get the following error when I change the size of the window in my Flutter app under macOS as macOS app:

======== Exception caught by widgets library =======================================================
The following assertion was thrown building Expanded(flex: 5):
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4857 pos 12: 'state._element == null': is not true.


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

The relevant error-causing widget was: 
  Expanded Expanded:file:///Users/florin/Desktop/Coding/Jufo/modularapp/lib/app_page.dart:52:17
When the exception was thrown, this was the stack: 
#2      new StatefulElement (package:flutter/src/widgets/framework.dart:4857:12)
#3      StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:770:38)
#4      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3785:40)
#5      Element.updateChild (package:flutter/src/widgets/framework.dart:3524:20)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#8      ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#10     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5787:32)
#11     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6445:17)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#15     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#17     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#19     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#20     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#21     StatelessElement.update (package:flutter/src/widgets/framework.dart:4834:5)
#22     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#23     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#24     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#25     StatelessElement.update (package:flutter/src/widgets/framework.dart:4834:5)
#26     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#27     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#28     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#29     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#32     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#33     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#34     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#35     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5787:32)
#36     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6445:17)
#37     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#39     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#40     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#41     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#43     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#44     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#45     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#46     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#47     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#48     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#49     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#50     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#51     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#52     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14)
#53     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#54     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#55     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#56     StatelessElement.update (package:flutter/src/widgets/framework.dart:4834:5)
#57     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#58     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6291:14)
#59     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#60     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#61     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#62     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#63     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#66     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#67     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#68     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#69     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#70     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#71     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#72     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#73     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#75     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#76     StatelessElement.update (package:flutter/src/widgets/framework.dart:4834:5)
#77     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#79     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#80     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#81     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#82     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#83     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#84     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#85     ProxyElement.update (package:flutter/src/widgets/framework.dart:5108:5)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#87     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#88     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4928:11)
#89     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#90     StatefulElement.update (package:flutter/src/widgets/framework.dart:4960:5)
#91     Element.updateChild (package:flutter/src/widgets/framework.dart:3501:15)
#92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4780:16)
#93     Element.rebuild (package:flutter/src/widgets/framework.dart:4477:5)
#94     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19)
#95     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21)
#96     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:363:5)
#97     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#98     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1081:9)
#99     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:995:5)
#103    _invoke (dart:ui/hooks.dart:151:10)
#104    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#105    _drawFrame (dart:ui/hooks.dart:115:31)
(elided 5 frames from class _AssertionError and dart:async)
====================================================================================================

The Error Code says there is an Error in the Expanded Widget, but I think it is in its child? Am I right or it is impossible do add a StatefulWidget as Child to a Expanded Widget?

This is the File in the Error:

class AppPage extends StatelessWidget {
  final Sidebar sidebar;
  final ThemeResponse theme;
  final App app;
  late final AppPageBodyWrapper wrapper;

  AppPage({required this.app,
    required this.theme,
    Key? key,
    required this.sidebar,
    required this.wrapper})
      : super(key: key);

  void set(String title, List<Component> content) {
    wrapper._state
        .setWidget(PageBody(theme: theme, title: title, components: content));
  }

  @override
  Widget build(BuildContext context) =>
      Scaffold(
          key: context
              .read<SidebarController>()
              .scaffoldKey,
          drawer: sidebar,
          body: SafeArea(
            child: Row(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                if (Responsive.isDesktop(context))
                  Expanded(child: sidebar, flex: 1),
                Expanded(flex: 5, child: wrapper)
              ],
            ),
          ));
}

class AppPageBodyWrapper extends StatefulWidget {
  PageBodyWrapperState _state;

  AppPageBodyWrapper(PageBody init, this._state, {Key? key}) : super(key: key);

  @override
  State<StatefulWidget> createState() => _state;
}

class PageBodyWrapperState extends State<AppPageBodyWrapper> {
  late Widget _current;
  bool ready = false;

  PageBodyWrapperState(this._current);

  void setWidget(Widget widget) {
    setState(() {
      _current = widget;
    });
  }

  @override
  Widget build(BuildContext context) {
    return _current;
  }
}

class PageHeader extends StatelessWidget {

  final String title;

  const PageHeader({Key? key, required this.title}) : super(key: key);

  @override
  Widget build(BuildContext context) =>
      Row(children: [
        if (!Responsive.isDesktop(context))
          IconButton(
              icon: const Icon(Icons.menu),
              onPressed:
              context
                  .read<SidebarController>()
                  .controlSidebar),
        Text(title, style: Theme
            .of(context)
            .textTheme
            .headline6)
      ]);

}

class PageBody extends StatelessWidget {
  final String title;
  final List<Component> components;
  final ThemeResponse theme;

  const PageBody({Key? key,
    required this.theme,
    required this.title,
    required this.components})
      : super(key: key);

  @override
  Widget build(BuildContext context) =>
      SafeArea(
          child: SingleChildScrollView(
              padding: const EdgeInsets.all(defaultPadding),
              child: Column(children: [
                PageHeader(title: title),
                Row(
                  children: components,
                )
              ])));
}

(I use the Material Widgets)

Is there anyone who knows how i can fix this issue?

Thanks in advance



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source