【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part120 コントローラークラス

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は ウィジェット編 ( part120 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part119 アニメーション系ウィジェット

今回からコントローラークラスについて学びます。

コントローラークラス

ウィジェットの中にはcontrollerというプロパティを持つウィジェットがあります。
このプロパティにはコントローラーのインスタンスを競ってすることができます。
コントローラークラスはウィジェット固有の状態を管理できるようです。
GlobalKeyを使用しなくても先祖(親?)が子のウィジェットにアクセスできる・・・という解釈でよいですかね。

名前の通り、任意の画面 (ページ) や Widget ツリーの全く別の階層から特定の Widget にアクセスするために利用します。

基本的に親 Widget クラス内のメンバ変数などに定義し、StatefulWidgetの Widget に対して利用します。

状態の変化をコールバック処理で拾うことも可能です。

コントローラークラスStateのクラスで利用し、StateクラスのフィールドかinitState()メソッド内でインスタンス化します。
コントローラークラスdispose()メソッドを持っています。Stateクラスのdisposeメソッド内で必ず呼び出すようにします。

最後に

GlobalKey・・・🤔
またどこかの章で解説があるのでしょうか・・。

今日はここまで!

参考

Flutter Widget Keyの種類と使い方について – Qiita