FlutterでStatelessWidgetまたはStatefulWidgetにパラメータを渡す方法

2024年5月26日日曜日

Flutter

t f B! P L

はじめに

Flutterで複数画面に及ぶアプリケーションを開発する場合、ウィジェット間でパラメータを渡すことが一般的です。この記事では、Flutterでのウィジェット、特にStatelessWidgetStatefulWidgetにパラメータを効率的に渡す方法を詳しく解説します。

StatelessWidgetにパラメータを渡す方法

StatelessWidgetは不変の状態を持つウィジェットで、コンストラクタを通じて簡単にパラメータを渡すことができます。以下はその具体的な手順です。

サンプルコード:

class MyStatelessWidget extends StatelessWidget {
  final String message;

  MyStatelessWidget({Key? key, required this.message}) : super(key: key);

  
  Widget build(BuildContext context) {
    return Center(
      child: Text(message),
    );
  }
}

この例では、MyStatelessWidgetmessageという名前の文字列パラメータを渡しています。このパラメータはウィジェットのコンストラクタを通じて初期化され、buildメソッド内で直接使用されます。

StatefulWidgetにパラメータを渡す方法

StatefulWidgetは状態を持つウィジェットであり、その状態はアプリケーションのライフサイクルに応じて変更が可能です。パラメータを渡す方法はStatelessWidgetと似ていますが、状態の管理が異なります。

サンプルコード:

class MyCustomWidget extends StatefulWidget {
  final String title;

  MyCustomWidget({Key? key, required this.title}) : super(key: key);

  
  _MyCustomWidgetState createState() => _MyCustomWidgetState();
}

class _MyCustomWidgetState extends State<MyCustomWidget> {
  
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Text('Welcome to ${widget.title}!'),
      ),
    );
  }
}

ここでは、MyCustomWidgetウィジェットにtitleパラメータを渡し、このパラメータはウィジェットの状態オブジェクト内で利用されています。Stateクラス内ではwidgetプロパティを通じて親ウィジェットのフィールドにアクセスすることができます。

まとめ

StatelessWidgetStatefulWidgetへのパラメータの渡し方を解説しました。
それぞれのシーンで正しいパラメータの渡し方を覚えておきましょう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ