15  Widgets

15.1 Type of Widgets

 // widgets/framework.dart

 abstract class Widget {}

 abstract class StatelessWidget extends Widget {}

 abstract class StatefulWidget extends Widget {}

 abstract class RenderObjectWidget extends Widget {}

 abstract class InheritedWidget extends Widget {}

15.2 StatelessWidget

Syntax:

class MyWidget extends StatelessWidget {
    MyWidget(/* parameters */);

    Widget build(BuildContext context) {
        return ChildWidget();
    }
}

15.3 StatefulWidget

Syntax:

class MyWidget extends StatefulWidget {
    MyWidget({this.color});

    final Color color;

    State<MyWidget> createState() =>
        _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {

    Widget build(BuildContext context) =>
        ColoredBox(color: widget.color);
}