Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 변수
- Cocoa touch Framework
- Null Safety
- setState
- 정보처리기사
- firebase
- Kotlin
- auth
- 안드로이드 스튜디오
- GetX
- swift
- IOS
- UserAccountsDrawerHeader
- firebase_auth
- 회원가입
- 로그인
- non-nullable
- flutter
- 함수
- java
- dart
- 상태관리
- BottomNavigationBar
- 이메일
- 안드로이드
- go_router
- Provider
- 1과목
- Android
- StatefulWidget
Archives
- Today
- Total
앱 개발 공부방
Flutter - StatefulWidget Life cycle 본문
728x90
StatefulWidget Life cycle
StatefulWidget의 생명주기는 다음과 같다
출처
https://betterprogramming.pub/stateful-widget-lifecycle-a01c44dc89b0
The Stateful Widget Lifecycle
One of the most common questions in Flutter job interviews
betterprogramming.pub
1. createState()
@override
State<MyHomePage> createState() => _MyHomePageState();
statefulWidget의 필수 메서드로서 state 객체를 생성한다
2. initState()
@override
void initState() {
super.initState();
}
처음으로 호출되는 메서드로서 위젯이 처음으로 생성될 때 맨 처음으로 호출된다
super.initState()를 꼭 포함시켜주자
3. didChangeDependencies()
@override
void didChangeDependencies() {
}
initState() 이후에 호출된다
위젯이 의존하는 데이터의 객체가 호출될 때마다 호출된다
build 메서드는 항상 이 메소드 다음에 호출되므로 거의 필요하지 않다(저도 한 번도 써본 적 없습니다)
4. build()
Widget build(BuildContext context) {
}
필수 메서드
상태에 속한 위젯이 업데이트될 때마다 항상 이 메서드를 실행
즉 didUpdateWidget() 또는 setState() 메서드가 호출될 때 호출
5. didUpdateWidget()
@override
void didUpdateWidget(covariant MyHomePage oldWidget) {
super.didUpdateWidget(oldWidget);
// TODO: implement didUpdateWidget
}
상위 위젯이 구성을 변경하고 위젯을 다시 빌드해야 하는 경우 호출
새 위젯을 이전 위젯과 비교해야 하는 경우 이 메서드 사용
6. deactivate()
@override
void deactivate() {
super.deactivate();
// TODO: implement deactivate
}
위젯이 트리에서 제거될 때 호출
7. dispose()
@override
void dispose() {
super.dispose();
// TODO: implement dispose
}
state가 위젯 트리에서 영구적으로 제거될 때 호출
728x90
'FLUTTER' 카테고리의 다른 글
Flutter - firebase 앱 연동 (0) | 2022.03.21 |
---|---|
Flutter - Getx (0) | 2022.03.16 |
Flutter-validate, formkey (0) | 2020.11.01 |
Flutter-TabBar (0) | 2020.10.31 |
Flutter-Drawer (0) | 2020.10.25 |
Comments