The previous example uses the constructor of the MyStatelessWidget
class to pass the text, which is marked as final.
This class extends StatelessWidget—it contains immutable data.

The build method of a stateless widget is typically called
in only three situations:

When the widget is inserted into a tree

When the widget’s parent changes its configuration

When an InheritedWidget it depends on, changes

The StatefulWidget

A StatefulWidget is a widget that changes state.
Use the setState method to manage the
state changes for a StatefulWidget.
A call to setState() tells the Flutter
framework that something has changed in a state,
which causes an app to rerun the build() method
so that the app can reflect the change.