StatefulWidget 과 StatelessWidget 의 차이
StatefulWidget 과 StatelessWidget 의 차이를 간단히 말하자면
StatelessWidget
- 한번 그려지고 나면 변화가 없다 ( build 부분이 한번만 실행 됨 )
StatefulWidget
- 한번 그려지고 난 후 상태 변경이 가능하다
- setState( () {} ); 함수를 이용해서 build를 다시 할 수 있다 ( UI 변경이 가능함 )
즉, flutter에서 UI 부분을 만들고 이를 보여주는 건
@override
Widget build(BuildContext context) {
return ~~~~;
}
이 부분이 실행되어야 UI부분이 변경이 되는데 StatelessWidget 은 한번만 실행되고 StatefulWidget 은 setState 함수를 호출함으로써 build 를 다시 할 수 있다. 이를 상태가 없는 위젯(StatelessWidget)과 상태가 있는 위젯(StatefulWidget)이라고도 한다.
그럼 StatefulWideget만 사용하면 되는 거 아닌가 라고 생각할 수 있지만 Lifecycle에 따른 성능에 차이가 있을 수 있기에 적절하게 사용하는 것이 좋다.
*생명주기 참고
https://still-alive-developer.tistory.com/120
StatelessWidget과 StatefulWidget 의 생명주기
StatelessWidget과 StatefulWidget 의 생명주기는 각각 다르기 때문에 적절히 사용하면 성능 향상에 도움이 된다. StatelessWidget Lifecycle StatefulWidget Lifecycle createState()Stateful Widget 객체를 생성하면 생성자
still-alive-developer.tistory.com