플러터(flutter) 순한 맛 강좌 5 | 플러터에서 제일 중요하다는 위젯이란 무엇일까요?
https://www.youtube.com/watch?v=jI4kqLdqXic&list=PLQt_pzi-LLfpcRFhWMywTePfZ2aPapvyl&index=6
플러터에서 모든 것은 위젯으로 이루어져 있다.
작은 요소들도 위젯이지만 앱 전체도 하나의 위젯이라고 할 수 있다.
- Stateless Widget :
이전 상호작용의 어떠한 값도 저장하지 않음. 다시 말해 상태가 없는 정적인 위젯
스크린상에 존재만 할 뿐 아무것도 하지 않음
어떠한 실시간 데이터도 저장하지 않음
어떤 변화(모양, 상태)를 유발시키는 Value값을 가지지 않음
- Stateful Widget :
Value값을 지속적으로 추적/보존. 다시 말해 계속 움직이거나 변화가 있는 위젯
사용자의 interaction에 따라서 모양이 바뀜
데이터를 받았을때 모양이 바뀜
- 위젯 트리란?
위젯들은 tree 구조로 정리될 수 있음
한 위젯 내에 얼마든지 다른 위젯들이 포함될 수 있음
위젯은 부모 위젯과 자식 위젯으로 구성
부모 위젯을 위젯 container라고 부르기도 함
MyApp 위젯
ㄴ MaterialApp 위젯 : 전체 앱을 감싸고 있는 위젯
ㄴ LoginPage 위젯 : 본격적으로 앱의 디자인과 기능들이 만들어짐
ㄴ Scaffold 위젯 : 앱 화면과 기능을 구성하기 위한 빈 페이지를 준비해주는 위젯
ㄴ 이미지, 버튼, 텍스트, 패딩, ...
플러터(flutter) 순한맛 강좌 17 | 아리송한 BuildContext 이해하기
https://www.youtube.com/watch?v=o-HpnWhI70U&list=PLQt_pzi-LLfpcRFhWMywTePfZ2aPapvyl&index=18
위젯 tree에서 현재 위젯의 위치를 알 수 있는 정보
Widget build(BuildContext contest) {
return Scaffold( ... )
}
build 함수는 Scaffold 위젯을 리턴하는데, 위젯 tree에서 어디에 위치하는지 정보를 가진 context를 넣어서 리턴해줌
이 BuildContext는 stateless 위젯이나 state 빌드 메서드에 의해서 리턴된 위젯의 부모가 된다.
Scaffold 위젯은 부모의 context를 그대로 물려받게 됨.
따라서 만약 Scaffold 위젯의 위치가 필요하다면 Scaffold 내의 context를 참조하면 안되고
Scaffold 위젯 밑에서 build 메소드로 무언가 위젯을 리턴하면, 그 위젯은 Scaffold 위젯의 진짜 context를 가짐
'개발 > Flutter' 카테고리의 다른 글
vscode에서 Flutter - Firebase 연동하기 / firebase_auth/network-request-failed 에러 (0) | 2023.06.25 |
---|---|
Mac에서 Flutter와 Firebase 연동하기 (0) | 2023.06.16 |
Flutter Vertical viewport was given unbounded height 해결 (0) | 2023.05.01 |
Flutter 코드랩 따라하기 (0) | 2023.03.28 |
Flutter 개발환경 셋팅하기 (Mac mini) (1) | 2023.03.20 |