본문 바로가기

✏️/Flutter

[flutter] Stateful vs Stateless Widget

728x90

LifeCycle

- 위젯 단위에서 특정 시점에 사용할 수 잇는 함수
- 상태 관리와 함께 '시점'을 사용할 수 있어서, 절차적 처리를 할 때 유용하다.

1) Stateless
LifeCycle이 없고, 상태관리가 불가능한 위젯

class stlWidget extends StatelessWidget {
  @override
  Widget build(BuildConetext context) {
	return Container();
 }
}

- build 함수만 실행되어 화면에 보여줌
- 관리할 수 있는 시점은 화면에 보여지기 직전

2) Statefull
LifeCycle이 있고, 상태관리가 가능한 위젯

- 내부에 create, init, build, dispose 등 함수를 포함함 (자동완성 지원)

1. init : 어플이 켜지는 시점
2. didChangeDependencise : 화면에 보여지기 직전
3. build : 화면에 보여주는 시점 
4. dispose : 어플이 종료되는 시점

----