Key란?
- 위젯의 State를 보존 (State - UI가 변경되도록 영향을 미치는 데이터)
- 위젯이나 요소들을 유니크하게 식별
- Flutter는 기본적으로 위젯의 타입으로 식별
- 같은 타입의 Stateful위젯을 사용한다면 위젯을 이동시키거나 삭제할 때 문제가 발생하므로 식별을 위해서 Key가 필요
Value Key
- Value값을 State로 갖는 Stateful위젯에 State를 보존할 때 사용
Global Key
- 어떤 요소를 고유하게 식별
- Global Key는 BuildContext와 같은 요소들과 연관된 다른 외부의 객체들이 접근할 수 있도록 해주는 역할을 한다.
- Stateful위젯의 State에 접근할 수 있도록 해준다.
출처
- 코딩셰프 플러터 조금 매운맛 강좌 18 | 플러터 키 이해하기