지식/Flutter

[Flutter] Stateless vs Stateful

ZeroAct 2023. 2. 3.
728x90
반응형

react 를 잠깐 공부했을 때 state 라는 개념을 접했었다.

그것과 똑같은 개념으로 Flutter 에도 state 가 존재한다.

gui 프로그래밍을 해 본 적이 있는 사람은 알고 있겠지만 우리가 보는 화면에서는 계속 rendering 이 발생하고 있다.

이 때 모든 위젯 들을 다시 rendering 한다면 속도가 매우 느릴 것 이다.

 

이를 최적화 하기 위해 나타난 개념이 state 이다.

 

flutter 에서 stateless 위젯은 위젯을 생성할 때 외에는 rendering 되지 않는다.

다만 stateful 위젯은 내부 변수가 바뀔 때 rendering 을 다시 수행한다.

 

이러한 철학 때문에 StatelessWidget의 변수를 final 이나 const 로 지정하지 않으면 기분 나쁜 줄이 생긴다.

또한 Stateless 위젯을 const 로 지정하는 경우 dart 포스팅에서 이야기 했던 "위젯 재사용"의 효과도 볼 수 있다.

Dart Final 과 Const (tistory.com)

 

정리하면 내용이 바뀌지 않는 위젯의 경우 StatelessWidget 을 사용하는 것이 성능적인 측면에서 이점이 있다.

728x90
반응형

'지식 > Flutter' 카테고리의 다른 글

[Ultralytics Hub Flutter Clone Coding] #1. 사이드 메뉴 만들기  (0) 2023.02.11
[Flutter] Constructor(생성자)  (0) 2023.02.04
[Flutter] 개요  (0) 2023.01.29
Dart 반복문  (0) 2023.01.23
Dart 조건 분기  (0) 2023.01.23

댓글