Controlled и uncontrolled components: в чём разница?

MiddleReact · Frontend·Обновлено 16 июня 2026
Коротко
Controlled хранит значение в React state, uncontrolled хранит значение в DOM.

Controlled хранит значение в React state, uncontrolled хранит значение в DOM.

Сильный ответ должен раскрыть: source of truth; form validation; refs; performance trade-off.

Важно не допустить типичные ошибки: смешивать оба подхода; держать большой form state без причины; не учитывать validation.

Что хочет услышать интервьюер

source of truth

form validation

refs

performance trade-off

Пример: React example

<input value={value} onChange={e => setValue(e.target.value)} />

Типичные ошибки

смешивать оба подхода

держать большой form state без причины

не учитывать validation

Лучшие курсы по теме

изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Feature-Sliced Design

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.6
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Next.js - с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее