Why is the build method on State, and not StatefulWidget? Putting a Widget build(BuildContext context) method on State rather than putting a Widget build(BuildContext context, State state) method on StatefulWidget gives developers more flexibility when subclassing StatefulWidget .
Read moreDoes a new state object is created if the widget rebuild?
The tldr version is that State objects are long lived, but StatefulWidget s (and all Widget subclasses) are thrown away and rebuilt whenever configuration changes .
Read more