class ${widgetClass} extends StatefulWidget { @override ステートクラス createState() => ステートクラス(); }
stateクラスの場合は、Widget build(BuildContent context) だった
main.dart
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); final title = 'Flutterサンプル'; final message = 'サンプルメッセージ'; // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', home: MyHomePage( title: this.title, message: this.message ), ); } } class MyHomePage extends StatefulWidget { final String title; final String message; const MyHomePage({ Key? key, required this.title, required this.message }): super(key: key); @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold ( appBar: AppBar( title: Text(widget.title), ), body: Text( widget.message, style: TextStyle(fontSize:32.0), ) ); } }
_MyHomePageState createState() => _MyHomePageState(); のところをステートの処理に従って変化するよに処理を作成すれば良い
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); final title = 'Flutterサンプル'; // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', home: MyHomePage( title: this.title, ), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({ required this.title, }): super(); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { String _message = 'Hello!'; void _setMessage(){ setState((){ _message = 'タップしました!'; }); } @override Widget build(BuildContext context) { return Scaffold ( appBar: AppBar( title: Text(widget.title), ), body: Text( _message, style: TextStyle(fontSize:32.0), ), floatingActionButton: FloatingActionButton( onPressed: _setMessage, tooltip: 'set message', child: Icon(Icons.star), ), ); } }