본문 바로가기
공부방/Flutter

Flutter의 buildContext

by SmartCow 2023. 9. 25.

1. buildContext란?

Flutter에서 BuildContext는 UI 트리에서 위젯의 위치와 상태를 식별하는 데 사용되는 중요한 개념이다. 
BuildContext는 다양한 Flutter 위젯 및 함수 내에서 사용되며, 위젯 트리를 탐색하고 위젯 간에 정보를 공유하는 데 도움을 준다. 
BuildContext는 주로 다음 두 가지 목적으로 사용된다.

2. 위젯 트리 탐색

1) BuildContext는 현재 위젯의 위치를 나타내며, 위젯 트리에서 부모 위젯과 자식 위젯에 대한 참조를 얻는 데 사용된다.
2) BuildContext를 사용하여 위젯 트리에서 위로 올라가거나 아래로 이동하여 특정 위젯을 찾을 수 있다.
예를 들어, BuildContext를 사용하여 위젯 트리에서 가장 가까운 Scaffold나 Theme 위젯을 찾을 수 있다.

3. 위젯 간 정보 공유


1) BuildContext를 사용하여 위젯 간에 데이터나 상태를 공유할 수 있다. 이를 통해 위젯 간에 상태를 전달하거나, 화면 크기와 같은 환경 정보를 공유할 수 있다.
2) BuildContext를 이용하여 위젯 트리에서 데이터를 검색하거나, Provider나 InheritedWidget와 같은 상태 관리 패턴을 구현할 수 있다.

Ex) BuildContext는 대부분 위젯의 빌드 메서드 (build 메서드) 내에서 사용된다. 예를 들어, 다음과 같이 사용될 수 있다

Widget build(BuildContext context) {
  // 현재 위젯의 context를 사용하여 다른 위젯을 생성하거나 정보를 얻습니다.
  return Text(
    '안녕하세요!',
    style: TextStyle(
      color: Theme.of(context).primaryColor,
    ),
  );
}

여기서 Theme.of(context).primaryColor와 같이 BuildContext를 사용하여 현재 테마의 주요 색상을 가져올 수 있다.

많은 Flutter 위젯 및 패키지는 BuildContext를 매개변수로 받아야 하거나 BuildContext를 반환하는 메서드를 제공한다. 이를 통해 위젯 트리 내에서 정확한 위치에서 작업을 수행할 수 있으며, 데이터 및 상태 관리에 필요한 정보를 공유할 수 있다.

'공부방 > Flutter' 카테고리의 다른 글

[Flutter] 셋팅하기  (2) 2023.12.31
[Android Studio] 설치  (0) 2023.12.28
Flutter의 leading  (0) 2023.09.17
Flutter의 Text위젯  (0) 2023.09.14
Flutter의 Appbar 사용법  (0) 2023.09.13