You said here, "Like a stateless widget, stateful widgets is not ......". But Stateless widgets are not like Stateful widgets. They're not a combination of 2 classes. Are they?
Stateless widgets have only 1 class and they will rebuild as soon as the external data that is provided to them changes(via their constructor) but stateful widgets will rebuild in both cases, i.e, if any(internal or external) data changes. Glad you asked!