Peace be upon you
I am researching Flutter's widget lifecycle and stopped at a point which is the this.mounted
boolean variable, it does exist directly in the State
class, which can only be connected with a StatefulWidget
as a subclass and never will/did with a StatelessWidget
.
The question is ...
Do all widgets actually contain the
bool this.mounted
variable as some say here in [this accepted answer, this article and this ], or not?
I searched in Flutter and found this mounted variable only in the State
class, then I looked further to find a function called mount()
inside the Element
class.
The StatelessWidget
class is connected to the StatelessElement
class, which extends from the ComponentElement
that inherits directly from the Element
class.
I'm really confused right now, maybe I misunderstood this, I need an explanation for this please!, Thank you.
Not sure why that answers says all widgets
. But NO
.
Only State<T>
objects are the ones that have a getter
named mounted
.
This is easy to verify, Just cmd + click
or ctrl + click
on any State
you have in your class which will redirect you to a file called framework.dart
which is located at flutter -> package -> flutter -> lib -> src -> widgets
path.
Search mounted
and this line is the only actual declaration that you will find.
bool get mounted => _element != null;
And that's part of the State
class' code.