はじめに
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 件のコメント:
コメントを投稿