📖 Flutter에서 BuildContext 란 무엇인지 예시
💡 BuildContext?
- 위젯 트리에서 위젯의 위치를 나타내는 객체이다.
- 즉 이 위젯이 트리의 어디에 있는지를 알려주는 주소 혹은 좌표 같은 역할을 한다.
🧩 BuildContext의 주요 역할
- 부모 위젯에 접근할 때 사용된다.
Theme.of(context)는 트리 상에서 가장 가까운 Theme 데이터를 가져온다.
Navigator.of(context)는 현재 context가 속한 Navigator에 접근한다.
🍫 실제 사용 예시
scaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('안녕')),
);
- 이 코드는
context를 통해 현재 위젯에 속한 Scaffold를 찾아가 그 안에서 SnackBar를 띄우는 역할을 한다.
- 만약
context가 Scaffold보다 위쪽에 있다면 Scaffold를 찾지 못해 에러가 발생한다.
- 즉
BuildContext는 트리의 위치에 따라 접근 가능한 위젯이 달라진다.
🌳 한 줄 정리
BuildContext는 위젯 트리 안에서 현재 위젯의 위치를 표현하며 부모 위젯의 데이터나 기능에 접근할 수 있도록 도와주는 중요한 객체이다.