
createState() → initState() → build()
createState()
State 객체 생성
아직 UI 없음
initState()
초기 1회 실행
API 호출, 변수 초기화, listener 등록
build()
UI를 그리는 함수
여러 번 호출됨 → 반드시 가볍게 유지해야 함
setState() → build()
버튼 클릭, 스와이프 등 이벤트 발생
setState() 호출 시 상태 변경 + rebuild 요청
dispose()
화면이 사라질 때 딱 한번 실행, 메모리 정리 필수
controller 해제, stream 종료, listener 제거
비동기처리
onPressed: () async {
await Future.delayed(Duration(seconds: 2));
print("완료");
}
작업이 끝날 때까지 기다린 후 다음 코드 실행
showCupertinoDialog()
iOS 스타일로 대화창을 띄우는 함수
BuildContext
위젯의 위치 정보
위젯 트리에서 현재 위치를 나타냄
StatelessWidget
한 번 만들어지면 절대 변하지 않음
UI가 고정
텍스트, 아이콘, 고정된 화면
데이터 변경이 없는 경우StatefulWidget
값이 바뀌면 UI도 바뀜
내부에 State 객체 존재
setState() 사용 가능
버튼 클릭
입력값 변화
API 데이터 반영
애니메이션 효과