Quite often I only want to draw a Widget based on a condition.
For example, I may be creating a component that displays a FadeIn.image but the image: may not be set in the CMS. In this case I want to ignore drawing the FadeIn.image and just return an empty container.
for context, I had done,
child: (someValue == null) ? new Container() : new LabelComponent(label: myStringLabel) 
But this broke hot reload and I needed to replace with, child: _createLabelComponent(myStringLabel),
Widget _createLabelComponent(String label)
{
  if(label == null) {
      return new Container();
    } else {
      return new LabelComponent(label: label) 
    }
}
Is the below safe to work and will not break hot reload? It seems to work at the moment but before I replace all my conditions with this Widget, I'd like some more feedback.
class ConditionalWidget extends StatefulWidget {
  final bool condition;
  final Widget conditionalWidget;
  ConditionalWidget(this.condition, this.conditionalWidget, {Key key});
  @override
  State createState() => new ConditionalWidgetState();
}
class ConditionalWidgetState extends State<ConditionalWidget> {
  ConditionalWidgetState();
  @override
  void initState()
  {
    super.initState();
  }
  @override
  Widget build(BuildContext context)
  {
    if(widget.condition) {
      return widget.conditionalWidget;
    } else {
      return new Container();
    }
  }
}
 
     
    