[Flutter] GlobalKey란

2024. 11. 11. 14:17·Flutter

GlobalKey는

Flutter에서 위젯 트리 내에서 특정 위젯을 유일하게 식별할 수 있는 키입니다. 이 키를 사용하면 해당 위젯이나 그 상태(State)에 직접 접근하여 조작할 수 있습니다.

 

상태(State)란?

위젯이 현재 가지고 있는 데이터나 속성을 의미하며, 시간이 지남에 따라 변경될 수 있는 값입니다.

StatelessWidget VS StatefulWidget의 차이

StatelessWidget

  • 정의: 상태를 가지지 않는 위젯입니다. 내부에 데이터나 속성을 가질 수 있으나 내부에 변경 가능한 데이터나 속성이 없기 때문에 자체적으로 UI가 업데이트되지 않습니다.
  • 하지만(추가 설명)
    • 외부로부터의 변화: StatelessWidget은 부모 위젯이나 외부에서 전달된 데이터가 변경되면 재빌드되어 UI가 업데이트될 수 있습니다.
    • 한정된 업데이트: 하지만 자체적으로 상태를 관리하거나 변경하지 않으므로, 내부적인 상태 변화로 인한 UI 업데이트는 발생하지 않습니다.

StatefulWidget

  • 정의: 상태(State)를 가지는 위젯입니다. 시간이 지남에 따라 상태가 변경될 수 있고, 이에 따라 UI도 업데이트됩니다.
  • 추가 설명:
    • 상태 관리: StatefulWidget은 State 객체를 통해 상태를 관리하며, 상태가 변경될 때마다 setState() 메서드를 호출하여 UI를 갱신합니다.
    • 독립성: 자체적으로 상태를 관리하기 때문에, 외부의 변화뿐만 아니라 내부적인 상태 변화에도 대응할 수 있습니다.

 

GlobalKey의 주요 기능

  1. 위젯 식별: 동일한 타입의 위젯이 여러 개 있더라도, GlobalKey를 사용하면 특정 위젯을 구분할 수 있습니다.
  2. 상태 접근: StatefulWidget의 상태(State)에 직접 접근하여 값을 읽거나 변경할 수 있습니다.
  3. 위젯 위치 정보 얻기: 위젯의 위치나 크기 등의 정보를 얻어올 수 있습니다.

 


 

 

[Flutter] 플러터 기본기 다지기 - 3 (Form 위젯)

Form 위젯 TextField는 단순히 하나의 텍스트 입력을 다루는데 반해서, Form은 그 자체로 입력 필드를 가지고 있지 않지만, FormField 위젯들을 그룹화하여 관리하며, 복잡한 유효성 검사와 보다 쉽게 할

maze910.tistory.com

 

 

[Flutter] Form 위젯 연습 (피드백 폼 앱)

사용자가 이름, 이메일, 코멘트를 입력하고, 앱을 평가하고 고객 서비스 만족도를 선택한 뒤, 뉴스레터 구독 여부를 설정하여 폼을 제출할 수 있습니다. 앱은 사용자 피드백을 쉽게 받을 수 있도

maze910.tistory.com

 

'Flutter' 카테고리의 다른 글

[Flutter] GridView 위젯  (1) 2024.11.11
[Flutter] ListView 사용법과 주요 property  (2) 2024.11.11
[Flutter] Form 위젯 연습 (피드백 폼 앱)  (0) 2024.11.11
[Flutter] 플러터 기본기 다지기 - 3 (Form 위젯)  (0) 2024.11.11
[Flutter] 앱 레퍼런스 참고하여 Flutter로 화면 구현하기 2  (0) 2024.11.07
'Flutter' 카테고리의 다른 글
  • [Flutter] GridView 위젯
  • [Flutter] ListView 사용법과 주요 property
  • [Flutter] Form 위젯 연습 (피드백 폼 앱)
  • [Flutter] 플러터 기본기 다지기 - 3 (Form 위젯)
미로910
미로910
개발자를 꿈꾸는 민경이의 기록 블로그
  • 미로910
    개발 note
    미로910
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 설치 메뉴얼
      • HTML
      • JAVA
        • Java 기초
        • Java 응용
        • 자료구조
        • HTTP
        • JSP 프로그래밍
      • MySQL
        • MySQL 기본
        • 1일 1쿼리
      • CSS
      • Spring boot
      • JS
        • 게시판 만들기
      • Git
      • Flutter
        • MVVM 활용
        • 심화 버전
        • 1일 1 Flutter
      • 디자인 패턴의 활용
      • error note
      • My Project
        • [졸작] LLM 기반 특허 유사도 분석 시스템
        • 도서 관리 프로그램 (final project)
        • amigo
        • 친구 매칭 프로그램(FMP)
      • Python
      • 딥러닝
      • 네트워크
      • 공부 노트
        • 연구회
        • 자료구조
      • 기타
  • 블로그 메뉴

    • 홈
    • 전체보기
    • -----------------------
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
미로910
[Flutter] GlobalKey란
상단으로

티스토리툴바