[Flutter] widget 개념

jiyoung·2021년 10월 10일
0

Flutter에서 화면에 표시된 모든 요소가 위젯이며, 눈에 보이지 않지만 화면을 구성하는 레이아웃(Layout)도 앱 전체도 모두 위젯이다.

크게 2가지로 나눠진다.

  • Stateless Widgets
  • Stateful Widgets
  • Stateless Widgets

    어떤 움직임이나 변화가 없는 정적인 위젯이다. 스크린상에 존재만 할뿐 아무것도 하지 않으며 어떠한 실시간 데이터도 저장하지 않는다. 어떤 변화(모양,상태)를 유발시키는 value값을 가지지 않는다.

    Stateful Widgets

    계속 움직임이나 무언가 변화가 있는 동적인 위젯이다. 사용자의 인터렉션에 의해 모양이나 형태를 변경할 때 사용한다. 예를 들어 텍스트 필드, 버튼, 서버에서 전달받은 값을 화면에 표시하는 것이 동적인 위젯이다.



    이와 같이 flutter는 모든 것이 widget으로 나열되어 있다.

    Flutter Widget tree

    Widget들은 tree 구조로 정리될 수 있으며 한 Widget내에 얼마든지 다른 Widget들이 포함될 수 있다. 더불어, 하나의 Widget은 부모 위젯(=Widget container)과 자식 위젯으로 구성되어 있다.

    0개의 댓글