Flutter Widget이 뭔가요

2022. 1. 6. 14:29Flutter

반응형

플러터 공부를 시작하면서 제일 많이 들은 단어는 아마 위젯일 것이다

플러터에서 위젯이란 뭘 말하는 걸까!

 

Widget

플러터는 위젯으로 시작해 위젯으로 끝난다!

 

위젯은 현재의 구성과 상태를 가지고 있는 UI 단위이다

플러터의 모든 것은 위젯으로 구성되어 있다. 텍스트, 버튼, 아이콘, 이미지 등 모든 기본 단위 요소를 위젯이라고 하며 심지어 눈에 보이지 않는 레이아웃을 돕는 요소들까지 위젯이다.

 

플러터의 위젯은 상태가 있느냐 없느냐에 따라 StatelessWidget과 StatefulWidget으로 구분한다.

 

StatelessWidget

말 그대로 상태를 갖지 않는 위젯

앱 화면상에 존재하기만 할 뿐 아무것도 하지 않으며 어떠한 실시간 데이터도 저장하지 않는다.

생성자의 파라미터들로 인해 생성이 되고 나면, 메모리에서 삭제되기 전까지 그 상태를 유지한다.

 

StatefulWidget

위젯의 생명주기 동안 변할 수 있는 위젯. 계속 움직임이나 변화가 있다

사용자의 interaction에 따라 모양이 바뀌거나 데이터를 받게 되었을 때 모양이 바뀐다.

setState() 함수를 호출해서 StatefulWidget의 상태를 변화시켜주고, 상태변화를 감지한 위젯은 build() 함수를 호출해 화면을 갱신하게 된다.

 

Flutter Widget tree

1. Widget들은 tree 구조로 정리될 수 있음

2. 한 Widget내에 얼마든지 다른 widget들이 포함될 수 있음

3. Widget은 부모 위젯과 자식 위젯으로 구성

4. Parent widget을 widget container라고 부르기도 함

 

 

 

반응형