앱 개발 공부방

Flutter - StatefulWidget Life cycle 본문

FLUTTER

Flutter - StatefulWidget Life cycle

춘행이 2022. 3. 16. 13:00
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