state(상태) : 위젯이 생성되고 생명주기 동안 변경될 수 있는, 위젯이 가지는 데이터를 말한다.

 

StatelessWidget : 상태없는 위젯으로, 정적인 위젯이며 어떠한 상태도 유지하지 않는다.

데이터는 가질 수 있지만 위젯이 살아있는 동안은 이 데이터가 변경되지 않거나 변경되더라도 화면을 다시 그리는 이벤트가 발생하지 않는다.

 

StatefulWidget : 상태를 가지는 위젯. 사용자와 상호작용을 통해 데이터가 변경되면 변경된 데이터를 시각적으로 보여주기 위해 빌드를 수행하여 다시 화면에 그려준다.

위젯 생명주기 동안 상태를 가지고 이를 관리한다. 상태를 관리하기 위해서 항상 State 객체를 만든다.

State 객체를 생성하여 화면을 그리고 이벤트를 처리하는 책임을 State클래스에 위임한다.

상태가 변경되면 리빌드하고 화면을 다시 그리는 위젯이다.

 

StatefulWidget의 주요 함수

  • createState() : 상태객체를 생성
  • initState() : 상태객체가 생성되고 BuildContext가 트리의 특정 위치에 연결(마운트)되고 상태 객체의 initState()호출, 위젯을 처음 초기화할 때 딱 한번만 호출
  • build() : 위젯을 그리는 함수이며 변경이 있을 때마다 호출
  • setState() : 상태객체의 내부 상태가 변경되었을 때 호출하는 함수, 내부적으로 build() 함수를 호출하여 변경된 결과를 화면에 다시 그림
  • dispose() : 위젯 트리에서 상태객체가 완전히 제거될 때 호

 

 

'Mobile > Flutter' 카테고리의 다른 글

(Flutter) margin / padding  (0) 2024.04.23
(Flutter) Container  (0) 2024.03.21
(Flutter) MaterialApp / Scaffold  (0) 2024.02.18
(Flutter) Widget  (0) 2024.02.17
(Flutter) 플러터  (0) 2024.02.17

+ Recent posts