Зачем нужны props?
Продвинутые темы
`props` нужны, чтобы передавать данные от родительского компонента дочернему и делать компоненты переиспользуемыми и конфигурируемыми.
Зачем нужны
- Передача данных вниз — от родителя к ребёнку (однонаправленный поток).
- Переиспользуемость — один компонент отображает разные данные через props.
- Конфигурация — настройка вида и поведения (варианты, флаги).
- Коммуникация вверх — через колбэки-props ребёнок сообщает родителю о событиях.
function Button({ label, variant, onClick }) {
return <button className={variant} onClick={onClick}>{label}</button>;
}
<Button label="Сохранить" variant="primary" onClick={save} />
<Button label="Отмена" variant="secondary" onClick={cancel} />Один компонент — разные конфигурации через props.
Свойства props
- Только для чтения — компонент не меняет свои props.
- Передаются сверху вниз.
- Могут быть любого типа: данные, функции, JSX (
children).
props против state
- props — снаружи, неизменяемы.
- state — внутри, изменяемы.
Общее состояние поднимают к родителю и передают вниз как props.
Коротко для собеседования
props нужны для передачи данных от родителя к ребёнку, делая компоненты переиспользуемыми и конфигурируемыми; через колбэки-props ребёнок сообщает родителю о событиях. Props только для чтения, идут сверху вниз. Отличаются от изменяемого state.