Ключи задают identity Element при смене порядка/типа children: ValueKey/ObjectKey для списков; GlobalKey — доступ к State/контексту извне (дорого и редко).
Разбор
- Без key Flutter сопоставляет по позиции.
- GlobalKey не для «удобного setState снаружи».
- UniqueKey каждый раз новый — сбрасывает state.
- В Form — GlobalKey типичный кейс.
Итог
Keys стабилизируют Element identity; GlobalKey — исключение с осторожностью.