Vintage appMaker의 Tech Blog

[Flutter tip] Flutter key 사용 - Quick summary 본문

Source code or Tip/Flutter & Dart

[Flutter tip] Flutter key 사용 - Quick summary

VintageappMaker 2022. 8. 5. 16:04


Flutter에서 key를 사용하는 이유


1. 한 화면에 여러개의 같은 형의 Widget을 관리하지 않는다면 쓸 이유는 거의 없다(Globalkey 예외)
2. 여러개의 Widget을 1회 생성이후, 추가/삭제/이동을 할 경우에 반드시 필요하게 된다(stateful).
3. Flutter가 선언형 프로그래밍이라 절차형(객체의 이름을 명명하여 메소스 사용)방법처럼 처리가 힘들기에, 화면위젯과 state 위젯의 매치가 초기배열 순서대로 되어 있다. 그렇기에 재배열 시, Flutter에서는 키값으로 다시 매칭해주지 않으면 Widget과 state가 잘못매칭되는 경우가 발생한다.
4. ValueKey, ObjectKey, UniqueKey, PageStorageKey, GlobalKey가 있다.
- UniqueKey: 유니크한 이름값 생성하여 배열처리. 많이 사용됨. build 함수 내에서 구현하지 않는 것이 좋음.
- ValueKey: 키값에 이름을 정의하여 생성. 예제로 TextField를 많이 사용함.
- ObjectKey: 객체로 관리할 필요가 있을 때 사용.
- PageStorageKey: 스크롤뷰에서 최종 움직인 위치를 저장하고자 할 때 사용.
- GlobalKey: 다른위젯에서 key값을 받은 위젯의 상태를 액세스할 때 사용(다른위젯 상태를 액세스하려먼 가장 편하게 사용할 수 있는 방법임).


🍕GlobalKey 사용법


🍕UniqueKey 사용법


🍕PageStorageKey 사용법

🍕ValueKey 사용법

🍕ObjectKey 사용법

Comments