foundation
Props
Передавайте неизменяемые входы компонента, callbacks, children и конфигурацию, не скрывая поток данных.
Props — входные данные только для чтения от родителя к потомку. Поток данных в React однонаправленный: родитель передаёт значения и колбэки вниз, потомок уведомляет родителя через них, а не мутирует state родителя напрямую. Prop `children` — особый слот для композиции.
Деструктурируйте props на границе компонента для ясности, но не размазывайте неизвестные объекты по DOM-узлам. Значения по умолчанию и интерфейсы TypeScript документируют контракт. Если потомку нужно менять данные, поднимите state к ближайшему общему владельцу.
На интервью проверяют умение проектировать controlled-компоненты: value и `onChange` от родителя, потомок остаётся тонким представлением.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Считайте props неизменяемыми внутри потомка.
- Сообщайте о событиях вверх через колбэки.
- Для локальных потоков предпочитайте явные props неявному context.