[1] StatelessWidget
상태가 변경되지 않는 정적인 UI 요소를 나타내는 데에 사용됨.
한 번 생성되면 내부의 데이터나 상태가 변하지 않음.
statelesswidjet 클래스를 상속하여 사용자 정의 위젯을 만들 수 있음.
변경 가능한 데이터를 나타내지 않거나 외부로부터 주어진 데이터를 표시하는 데 사용됨
특징 :
# 내부 상태가 없음. 한 번 빌드되면 상태 변경X
# 외부에서 제공된 데이터나 속성(props)를 기반으로 UI를 구성
# 화면이 다시 그려져야 할 때 마다 build 메서드 호출되어 UI가 업데이트
# 빌드 과정에서 새로운 위젯을 만들고 변환함. 이 때 필요한 데이터는 주로 생성자 매개변수로 받아 사용함.
[2] StatefulWidget
StatefulWidget은 Flutter 프레임워크에서 사용되는 하나의 위젯 클래스 타입입니다. 이 위젯은 상태를 가지며, 상태가 변경되면 UI를 업데이트하는 데 사용됩니다. StatefulWidget은 주로 동적인 UI 요소를 나타내고, 사용자 상호 작용에 응답하거나 데이터가 변경될 때 UI를 업데이트하는 데 사용됩니다.
StatefulWidget 클래스를 상속하여 사용자 정의 위젯을 만들 수 있습니다. 이러한 위젯은 내부적으로 상태 객체(State 객체)를 가지며, 이 상태 객체는 위젯의 상태와 데이터를 관리합니다. 상태 객체는 StatefulWidget의 수명 주기 동안에도 지속되며, 상태가 변경되면 setState 메서드를 호출하여 UI를 업데이트합니다.
특징:
- 내부 상태를 가집니다. 즉, 상태 객체(State 객체)를 통해 상태를 관리하고 변경할 수 있습니다.
- 상태가 변경되면 setState 메서드를 호출하여 UI를 다시 렌더링하고 업데이트합니다.
- 상태 객체는 StatefulWidget 수명 주기 동안 지속됩니다.
- 사용자 입력, 데이터 변경 등과 같은 이벤트에 응답하여 동적인 UI를 만들거나 업데이트할 수 있습니다.
StatefulWidget 클래스를 상속하여 사용자 정의 위젯을 생성할 때는 createState 메서드를 오버라이딩하여 상태 객체를 생성합니다. State 클래스를 확장하여 상태 객체를 정의하고, 상태 객체 내에서 UI와 상태를 관리합니다.
'flutter > flutter' 카테고리의 다른 글
[flutter] permission_handler, broadcast_receiver, flutter_local_notifications (0) | 2023.09.11 |
---|---|
[flutter] flutter pub get 했을 때 생기는 파일들 (0) | 2023.09.11 |
[flutter] 라우터 사용하지 않고 페이지 연결하기 (0) | 2023.09.11 |
[flutter] 플러터 vscode에서 파란줄 뜰 때 해결법 (0) | 2023.08.28 |
[flutter] 기본 (0) | 2023.08.28 |