- Flutter에서 위젯과 엘리먼트 트리는 1대1로 매핑되며, 이 매핑의 기본 기준은 위젯의 런타임 타입이다. 🧩
- 동일한 타입의 위젯이 여러 개 존재할 경우, 엘리먼트가 정확한 위젯을 찾지 못해 상태가 꼬일 수 있다. 😵💫
- 이러한 문제를 해결하기 위해 유니크한 키(Key) 값을 위젯에 부여하여 엘리먼트가 특정 위젯을 정확하게 찾도록 한다. 🔑
- 키가 없을 때는 런타임 타입으로 연결되지만, 키가 있으면 키 값을 기준으로 연결된다. 🔗
- 모든 위젯에 키를 부여하는 것이 필수는 아니며, 동일한 타입의 위젯이 여러 개 사용될 때 (예: 리스트 UI) 키를 사용하는 것이 좋다. 📝
- 스테이트풀 위젯의 프로퍼티 값은 엘리먼트와의 연결 관계에 영향을 미치지 않으며, 오직 타입만이 중요하다. 💡
- 키를 사용하면 위젯 트리 내에서 유일한 위젯을 식별할 수 있어, 상태 관리의 안정성을 높일 수 있다. ✅