Можно ли все приложение делать на props

«Можно ли все приложение делать на props» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно, но это не всегда практично. Props предназначены для передачи данных от родителя к потомку, но при масштабировании приложения это может привести к "пропс-дриллингу" (избыточной передаче props через множество компонентов).

Лучше использовать:

  • Context API для глобальных данных
  • Состояние компонентов (useState, useReducer)
  • Сторонние решения (Redux, MobX)

Пример с props:

function Parent() {
  const [data, setData] = useState('Hello');
  return <Child data={data} />;
}

function Child({ data }) {
  return <GrandChild data={data} />;
}

function GrandChild({ data }) {
  return <div>{data}</div>;
}