- Stateless WIdget은 build 메서드를 통해서 단지 UI를 출력할 뿐이다.
- 변경되지 않을 데이터를 가지고 있는 UI를 출력할 때 사용한다.
- Stateful Widget은 상태를 가지고 있어서 Stateful이라고 부른다.
즉, 상태에 따라서 변하는 데이터 생각할 수 있다.
- 위젯에 데이터를 저장하고 실시간으로 데이터가 변하는 것을 보고 싶으면 Stateful widget을 사용한다.
- Stateful Widget은 두 가지 부분으로 나뉜다.
- 첫 번째
: 상태가 없는 widget 그 자체
- 두 번째
: widget의 state ⇒ widget에 들어갈 UI와 데이터를 넣는 곳
🏗️ SetState((){})
- flutter의 위젯에 새로운 데이터가 있다는 것을 알려줌
=> flutter가 build를 다시 실행하게 됨
class _AppState extends State<App> {
List<int> numbers=[];
void onClick() {
setState(() {
numbers.add(numbers.length);
});
}
🧭 BuildContext
📰 Context
- context는 Text 이전에 있는 모든 상위 요소들에 대한 정보
- context에는 widget tree에 대한 정보가 모두 담겨있고,
매우 먼 요소의 데이터를 가져올 수 있기 때문에 유용하다.
- 애플리케이션 안에서 해당 widget의 위치에 대한 정보를 제공한다.