1

平安あれ

私はフラッターのウィジェットのライフサイクルを調査しており、this.mountedブール変数であるポイントで停止しました。それはクラスに直接存在し、サブクラスとしてStateにのみ接続でき、StatefulWidgetとは決して/したことはありませんStatelessWidget

質問は ...

すべてのウィジェットには実際にbool this.mounted変数が含まれてます?

Flutter で検索したところ、このマウントされた変数はクラス内でのみ見つかりました。Stateさらに調べてmount()、クラス内で呼び出される関数を見つけましたElement

クラスは、クラスを直接継承する から拡張されたクラスに接続StatelessWidgetされます。StatelessElementComponentElementElement

私は今本当に混乱しています。おそらくこれを誤解していました。これについての説明が必要です!, ありがとう.

4

1 に答える 1

2

なぜその答えがall widgets. しかしNO

という名前の付いState<T>ているのはオブジェクトだけです。gettermounted

これは簡単に確認できます。単に、cmd + clickまたはクラスにあるもので、パスにあるという名前のファイルにリダイレクトされます。ctrl + clickStateframework.dartflutter -> package -> flutter -> lib -> src -> widgets

検索mountedすると、この行だけが実際の宣言として表示されます。

bool get mounted => _element != null;

Stateこれはクラスのコードの一部です。

于 2021-05-19T14:11:22.830 に答える