Коротка відповідь
juniorReact — це бібліотека для побудови UI, що надає декларативний API і компонентну модель. Фреймворк включає повний стек інструментів, маршрутизацію, стан, побудову проекту. React сам по собі не визначає структуру додатку, тому його класифікують як бібліотеку.
Повне пояснення
Що це і навіщо
- React – бібліотека, що дозволяє створювати UI‑компоненти з декларативним синтаксисом JSX. Вона не включає маршрутизацію, управління станом або збірку.
Ключові принципи/терміни
- Компонент, Virtual DOM, JSX, Props, State, Lifecycle.
Як це працює
- При зміні state React оновлює Virtual DOM, порівнює його з реальним DOM і мінімально змінює елементи.
Практика та реалізація
const Counter = () => { const [count, setCount] = useState(0); return <button onClick={() => setCount(c => c + 1)}>{count}</button>; };
**Тестування**
- Використовують Jest + React Testing Library: `render(<Counter />); fireEvent.click(screen.getByRole('button')); expect(screen.getByText('1')).toBeInTheDocument();`
**Особливості в контексті React**
- Фреймворки, такі як Next.js або Remix, розширюють React додаванням маршрутизації, SSR/SSG і API‑роутів.
**Оптимізація**
- Memoization (`React.memo`, `useMemo`), lazy loading компонентів, code‑splitting.
**Безпека**
- Валідація даних, використання `dangerouslySetInnerHTML` лише після очищення.
**Часті помилки**
- Неправильне оновлення state, використання `this` у класах без bind, пропущені ключі в списках.
**Cheatsheet**
- `useState`, `useEffect`, `useContext`, `useReducer` – основні хуки.
- `ReactDOM.createRoot(root).render(<App />)` – новий API.
**Follow‑up питання**
- Як працює Virtual DOM? Чому React називають бібліотекою, а не фреймворком?