state 를 갖는 위젯으로
위젯에 데이터를 저장하고, 변경 시 UI 의 변화를 일으킨다
statefull widget 은 2부분으로 나뉘어진다
1. 상태가 없는 위젯
2. 위젯이 가지는 상태
code actions 로 stateless widget 을 statefull widget 으로
변경 가능하다
class App extends StatefulWidget {
const App({super.key});
State<App> createState() => _AppState();
}
class _AppState extends State<App> {
Widget build(BuildContext context) {
// ...
}
statefull 로 변경 시 위와 같이 두 개의 클래스로 변경된다
statefull widget의 데이터는 단지 클래스의 프로퍼티다
상태는 계속 변경하면서 UI 를 변경시켜야 하기 때문에 final이 아니다
onPressed 이벤트 발생 시 실행할 함수와
Icon 을 받아 버튼을 만들어주는 위젯
IconButton(
iconSize: 40,
color: Colors.white,
onPressed: onClicked,
icon: const Icon(Icons.add_box_rounded),
),