はじめに
Flutterで複数画面に及ぶアプリケーションを開発する場合、ウィジェット間でパラメータを渡すことが一般的です。この記事では、Flutterでのウィジェット、特にStatelessWidgetとStatefulWidgetにパラメータを効率的に渡す方法を詳しく解説します。
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),
    );
  }
}
この例では、MyStatelessWidgetにmessageという名前の文字列パラメータを渡しています。このパラメータはウィジェットのコンストラクタを通じて初期化され、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プロパティを通じて親ウィジェットのフィールドにアクセスすることができます。
まとめ
StatelessWidgetとStatefulWidgetへのパラメータの渡し方を解説しました。
それぞれのシーンで正しいパラメータの渡し方を覚えておきましょう。

0 件のコメント:
コメントを投稿