Sobes.tech
Назад к вопросам
Middle+
3

Что происходит, если изменился тип компонента? Поможет ли одинаковый key сохранить состояние?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Если в React изменяется тип компонента (например, с <Button> на <Input>), React воспринимает это как удаление старого компонента и создание нового. В этом случае состояние старого компонента не сохраняется, даже если ключ (key) остался прежним. Ключи помогают React идентифицировать компоненты между рендерами, но они не могут сохранить состояние при смене типа компонента.

Иными словами, одинаковый key не поможет сохранить состояние, если тип компонента изменился — React просто создаст новый экземпляр компонента с чистым состоянием.

Пример:

// При смене типа компонента
{isInput ? <input key="unique" /> : <button key="unique">Click</button>}
// React удалит input и создаст button, состояние input не сохранится