statefulなクラスでコンストラクタで値を渡したい

親クラスのコンストラクタに値を入れる

1
2
3
4
5
6
7
8
9
class Chat extends StatefulWidget {
  final String chatTypeKey; // 追加するプロパティ

  const Chat({super.key, required this.chatTypeKey}); // コンストラクタで初期化

  @override
  State<Chat> createState() => _ChatState();

}

この場合、stateクラス内でwidget.chatTypeKeyを通じてこの値にアクセスできる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14

class _ChatState extends State<Chat> {
  List<types.Message> _messages = [];

  // _ChatState({required String chatTypeKey});

  @override
  void initState() {
    super.initState();
    // 画面立ち上げ時にデータをとってくる
    print("Chat Type Key: ${widget.chatTypeKey}");
    _loadMessages();
  }
  
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy