[Flutter] BuildContext란?

우루성·2024년 10월 29일

BuildContext란?

Flutter에서 BuildContext는 위젯 트리 내에서 특정 위젯의 위치에 대한 정보를 제공하는 역할을 합니다.
상위 위젯과 하위 위젯들 간의 관계를 정의하고 조작할 수 있게 도와주는 핵심 요소라고 볼 수 있습니다.

위젯 트리 위치 관리

BuildContext는 위젯이 트리 내에서 어디에 위치하는지 파악할 수 있게 합니다. 이를 통해 상위 위젯이나 주변의 다른 위젯들과 정보를 주고받을 수 있습니다. 예를 들어, BuildContext를 사용하면 부모 위젯에 접근하거나 트리 내에서 다른 위젯을 탐색할 수 있습니다.

InheritedWidget 접근

Flutter에서 상태 관리 및 데이터 전파를 위해 InheritedWidget을 사용하는데, BuildContext를 통해 InheritedWidget에 쉽게 접근할 수 있습니다. 예를 들어, Theme.of(context)와 같이 특정 테마 데이터를 가져오는 방식이나 MediaQuery.of(context)로 화면 크기, 방향 등의 정보를 얻을 때도 BuildContext를 사용합니다.

BuildContext를 활용하면 Navigator, Scaffold, MediaQuery와 같은 컨텍스트 의존적인 요소들에 접근할 수 있습니다. 예를 들어, 페이지를 이동할 때 Navigator.of(context).push()와 같이 사용하여 Navigator에 접근할 수 있습니다.

profile
Flutter 개발자

0개의 댓글