Live-данные · обновлено 19 июля 2026 г.

React

React — JavaScript-библиотека для создания компонентных пользовательских интерфейсов. Навык №1 в разработке клиентской части: стандарт в связке с TypeScript и Next.js.

ЧДЧернов Денис·Технический редактор·frontend разработчик · опыт 10+ лет
Вакансий
403
активных в Москве
Медиана зарплаты
230 тыс. ₽
n = 124 вакансии с указанной зарплатой
Индекс спроса
89/100
#37 из 332 навыков
Доля IT-рынка
5.8%
37 профессий

Коротко о навыке

React — JavaScript-библиотека с открытым исходным кодом для построения пользовательских интерфейсов из изолированных переиспользуемых компонентов. Разработчики клиентской части применяют React в большинстве коммерческих проектов: в российских вакансиях это самый частый навык разработчика клиентской части.

Ключевая идея React: UI — это функция от данных. Компонент получает входные параметры и возвращает описание интерфейса; при изменении данных React обновляет только изменившиеся части DOM через алгоритм согласования (reconciliation). Экосистема включает React Router для маршрутизации, Zustand и Redux для управления глобальным состоянием, Next.js для серверного рендеринга, React Query для работы с API. TypeScript — стандартный язык для новых React-проектов в коммерческой разработке.

Что такое React

Что делает

Строит пользовательские интерфейсы из изолированных компонентов с собственным состоянием — изменение одного компонента не ломает остальные и не вызывает лишних перерисовок.

Кто использует

Разработчики интерфейсов в продуктовых и аутсорс-командах для создания SPA, SSR-приложений и сложных UI-систем с общим состоянием и маршрутизацией.

Рынок

Доминирующая роль — разработчик клиентской части. В большинстве вакансий React спрашивают вместе с TypeScript, всё чаще — с Next.js.

React — библиотека, а не фреймворк

React решает только одну задачу: описание и обновление пользовательского интерфейса. Маршрутизация (React Router), управление состоянием (Zustand, Redux), запросы к API (React Query) — всё это отдельные библиотеки экосистемы. В отличие от Angular, React не накладывает ограничений на структуру приложения, что делает его гибким, но требует осознанного выбора стека.

Virtual DOM и алгоритм reconciliation

При каждом обновлении React строит виртуальное дерево компонентов в памяти и сравнивает его с предыдущей версией (diffing). Изменения применяются к реальному DOM точечно — только там, где дерево изменилось. Это позволяет обновлять сложные интерфейсы без полной перерисовки страницы и делает React быстрым при частых изменениях данных.

Хуки: useState, useEffect, useContext

Хуки — функции, которые добавляют возможности React в функциональные компоненты без использования классов. useState управляет локальным состоянием компонента. useEffect запускает побочные эффекты (запросы к API, подписки) при изменении зависимостей. useContext передаёт данные глубоко в дерево без промежуточных компонентов. Кастомные хуки инкапсулируют повторяющуюся логику.

Механика / Работа

Как React обновляет интерфейс

React превращает описание интерфейса в реальный DOM через несколько шагов. Понимание этого процесса объясняет, почему мутация состояния не работает и зачем нужен key в списках.

Шаг 01

Рендеринг компонента

React вызывает функцию компонента с текущими данными и получает JSX — описание того, как должен выглядеть интерфейс.

Шаг 02

Построение Virtual DOM

JSX преобразуется в дерево объектов (Virtual DOM) в памяти. Это дешёвая операция — нет взаимодействия с реальным DOM.

Шаг 03

Сравнение (Diffing)

React сравнивает новый Virtual DOM с предыдущим. Алгоритм находит минимальное количество изменений для перехода из старого состояния в новое.

Шаг 04

Применение изменений (Commit)

Только изменившиеся части реального DOM обновляются. Остальные элементы остаются нетронутыми — это обеспечивает производительность.

Карьера / Роли

Карьерные треки с React

React переносится между ролями: Фронтенд-разработчик, Фулстек-разработчик, React-разработчик. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.

Роли с React за период

Фронтенд-разработчик держит 82.6% вакансий по навыку.

Ещё 7 ролей используют React

Текущий срез показывает активные вакансии сейчас. Распределение по ролям рассчитано по расширенной исторической выборке, поэтому значения могут быть выше текущего количества активных вакансий.

Практика / Задачи

Частые задачи с React

React ценен не абстрактным знанием инструмента, а повторяющимися рабочими задачами — ниже они разобраны так, как встречаются в реальной работе.

Задача 01

Компонент с локальным состоянием

Счётчик с useState — минимальный пример управления состоянием компонента.

import { useState } from 'react';

export function Counter() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <p>Счётчик: {count}</p>
      <button onClick={() => setCount(c => c + 1)}>+1</button>
    </div>
  );
}
Задача 02

Запрос к API через useEffect и React Query

Загрузка данных с сервера через React Query — стандарт для работы с API в 2025.

import { useQuery } from '@tanstack/react-query';

export function UserList() {
  const { data, isLoading } = useQuery({
    queryKey: ['users'],
    queryFn: () => fetch('/api/users').then(r => r.json()),
  });
  if (isLoading) return <p>Загрузка...</p>;
  return <ul>{data.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}
Задача 03

Кастомный хук для формы

Инкапсуляция логики формы в кастомный хук — переиспользуемый паттерн.

function useField(initial = '') {
  const [value, setValue] = useState(initial);
  return {
    value,
    onChange: (e) => setValue(e.target.value),
    reset: () => setValue(initial),
  };
}

// Использование:
const email = useField('');
<input {...email} type="email" />
Задача 04

Context API для глобальной темы

Передача темы глубоко в дерево компонентов без промежуточных компонентов.

const ThemeContext = createContext('light');

function App() {
  const [theme, setTheme] = useState('light');
  return (
    <ThemeContext.Provider value={theme}>
      <Layout />
    </ThemeContext.Provider>
  );
}

function Button() {
  const theme = useContext(ThemeContext);
  return <button className={theme}>Кнопка</button>;
}
Задача 05

Оптимизация через useMemo и useCallback

Предотвращение лишних вычислений и ре-рендеров дочерних компонентов.

const sorted = useMemo(
  () => [...items].sort((a, b) => a.name.localeCompare(b.name)),
  [items]
);

const handleClick = useCallback(
  (id) => deleteItem(id),
  [deleteItem]
);
Задача 06

Типизированный компонент на TypeScript

Компонент с явно типизированными входными параметрами — стандарт коммерческого кода.

interface CardProps {
  title: string;
  description: string;
  onClick: () => void;
}

export function Card({ title, description, onClick }: CardProps) {
  return (
    <div onClick={onClick}>
      <h3>{title}</h3>
      <p>{description}</p>
    </div>
  );
}
Практика / Ошибки

Ошибки новичков

Ошибка 01

Мутировать состояние напрямую

items.push(newItem) или state.value = x не вызывают ре-рендер — React не видит изменений. Правило: всегда создавать новый объект или массив через spread или map().

Ошибка 02

Не указывать key при рендере списков

Без key React не может эффективно обновить список — он перерисовывает все элементы. Key должен быть уникальным идентификатором из данных (id), не индексом массива.

Ошибка 03

Бесконечный цикл в useEffect

useEffect без массива зависимостей (или с объектом в зависимостях) запускается на каждый рендер. При каждом вызове он меняет состояние → ещё один рендер → цикл. Решение: следить за зависимостями и примитивными значениями.

Ошибка 04

Слишком высокий подъём состояния

«Поднять» состояние в корень приложения удобно, но делает все компоненты зависимыми от глобального дерева и замедляет обновления. Правило: держать состояние как можно ближе к месту использования.

Рынок / Контекст

React в современных IT-проектах: контекст спроса

React — самый востребованный навык в разработке интерфейсов на российском рынке. В большинстве вакансий он идёт вместе с JavaScript и TypeScript — это стандартный коммерческий стек 2025 года. Next.js фигурирует в заметной доле вакансий с React: серверный рендеринг перестал быть специализацией и стал ожидаемым навыком Senior-разработчика. Разрыв между Middle и Senior определяется знанием архитектурных паттернов: управление глобальным состоянием, оптимизация ре-рендеров, работа с Suspense и Server Components.

Закрывает рабочую задачу

React ценят не за знание термина, а за конкретную пользу в ежедневной работе команды.

Живёт в реальном стеке

Навык редко существует изолированно: он встроен в процессы, инструменты и смежные роли, поэтому спрос держится дольше.

Даёт прикладную самостоятельность

Специалист с React быстрее проверяет гипотезы, решает задачи и меньше зависит от ручной передачи работы между людьми.

Сигнал рынка
Стабильный спрос

React формирует устойчивый спрос внутри своего рабочего сегмента.

Рынок / Спрос

Спрос на React на рынке

React сохраняет устойчивый прикладной спрос на рынке: 403 активных вакансий, #37 по рынку, 5.8% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.

Сила спроса
Стабильный спрос
403
активных вакансий сейчас

#37 по рынку • 5.8% IT-вакансий

Месяц к месяцу
528
июль 2026 — предварительный накопительный срез

-89 вакансий и -14% к предыдущему месяцу.

Доход / Уровни

Зарплаты в вакансиях, где требуется React

Зарплата React-разработчика зависит от уровня и архитектурной зрелости: рынок ценит знание экосистемы Next.js, а не только хуков. Разрыв между Middle и Senior заметный — платят за умение проектировать состояние приложения, оптимизировать...

Медиана рынка
Рабочий сигнал
230 000
₽ / месяц

124 вакансий с зарплатой в расширенной зарплатной выборке

Коридор по грейдам
210 000 - 253 000
₽ / месяц

Middle → Senior

Основной уровень
Senior
по структуре рынка

Senior - основной уровень рынка (51%)

Связи / Навыки

Навыки в связке с React

React редко живёт изолированно: чаще всего рынок видит его рядом с JavaScript, TypeScript, REST API. Самая плотная связка сейчас - JavaScript: оба навыка встречаются вместе в 63% вакансий.

Главная связка: JavaScript • 63% вакансий. Показываем общерыночные связки React: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.

Рабочий стек вокруг React

навыки, которые рынок чаще всего видит рядом в одной вакансии

Навык Зачем рядом Доля
Одна из самых плотных рыночных связок рядом с React.
63%
Часто встречается рядом с React в одном рабочем сценарии.
57%
Часто встречается рядом с React в одном рабочем сценарии.
49%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
44%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
43%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
41%

Связки, которые усиливают доход

не базовый минимум, а более сильные комбинации стека

1
CI/CD
n = 44
+25% 287 000 ₽
2
PostgreSQL
n = 58
+11% 256 000 ₽
3
Python
n = 41
+10% 253 000 ₽
4
Docker
n = 62
+9% 251 000 ₽
Вход / Старт

Порог входа

Сейчас на рынке 29 активных junior-вакансий с React. Это 8.3% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.

Junior-вакансии сейчас
29
активных вакансий

8.3% всех вакансий по навыку • Senior / Junior 6.1x

Доля junior
8.3%
% всех вакансий по навыку

Вход возможен, но рынок ждёт уже собранный стартовый стек.

Что нужно на старте

Стартовый стек

17
навыков в медианной вакансии

Медианная вакансия с React ожидает около 17 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.

Чаще всего требуют вместе

навыки из junior-вакансий, где встречается React

Навык Junior-вакансии
Git
16
13
13
SQL
12
Карьера / Резюме

React в резюме: что значит "знаю React"

Владение React в резюме демонстрирует, что вы умеете строить современные интерфейсы. На каждом уровне важно показать конкретные проекты и понимание экосистемы.

Уровень Что значит Что показать
Beginner
Могу написать простой компонент с useState и useEffect
2-3 проекта: TODO-лист, погодное приложение, таймер
Junior developer
Работаю с роутингом, формами, условным рендерингом
Небольшое SPA с React Router, форма с валидацией
Middle developer
Использую Redux Toolkit, кастомные хуки, TypeScript
Проект со сложным state management и типизацией
QA automation
Могу писать тесты компонентов (Jest, React Testing Library)
Примеры тестов для UI-компонентов
Data/ML
Интегрирую React с дашбордами и визуализациями
Интерактивный дашборд с Chart.js или D3
DevOps junior
Настраиваю сборку (Webpack/Vite) и CI/CD для фронтенда
Конфигурация сборщика и пайплайн деплоя
SRE/platform
Оптимизирую производительность и бандл, работаю с SSR/SSG
Проект с Next.js и аналитикой производительности
Навык / Применение

Где используется React

React применяется в разработке одностраничных приложений, административных панелей, интерактивных форм и любых интерфейсов с динамическим обновлением данных без перезагрузки страницы.

Сценарий 01

SPA и веб-приложения

Одностраничные приложения с клиентской маршрутизацией через React Router. Кабинет пользователя, дашборды, CRM — всё, где нужна навигация без перезагрузки страницы.

Сценарий 02

SSR и SSG через Next.js

Next.js добавляет серверный рендеринг и генерацию статических страниц поверх React. Ключевой выбор для SEO-критичных проектов: лендинги, медиа, маркетплейсы с...

Сценарий 03

Дизайн-системы и UI-библиотеки

Компонентный подход React идеально подходит для построения переиспользуемых UI-библиотек внутри компании. Кнопки, формы, таблицы, модальные окна публикуются как...

Сценарий 04

Мобильные приложения через React Native

React Native позволяет применить React-навык для разработки нативных iOS и Android приложений. Общая логика компонентов и хуков переносится на мобильную платформу с...

По направлениям

React заметен в 3 направлениях рынка с долей выше 5%.

Направление Контекст Доля
Разработка
Frontend, fullstack, мобильные приложения, микрофронтенды.
73.1%
Аналитика
Интеграция аналитических дашбордов, визуализация данных.
7.4%
Менеджмент
Мониторинг производительности UI, code review, архитектура.
7.1%
Тестирование
Часть спроса по навыку сосредоточена в этом направлении.
4.4%
Направления показывают, в каких частях IT-рынка навык заметен чаще всего, без разбивки по ролям.
Инструмент / Возможности

Что умеет разработчик на React

React — основа большинства коммерческих интерфейсов. Разработчик со знанием React и экосистемы строит полноценные продуктовые UI.

Строить компонентную архитектуру

Декомпозировать интерфейс на изолированные переиспользуемые компоненты. Управлять потоком данных сверху вниз через параметры компонентов и контекст.

Работать с серверными данными

Загружать, кэшировать и синхронизировать данные через React Query. Обрабатывать состояния загрузки, ошибок и обновлений без дополнительного кода.

Оптимизировать производительность

Анализировать ре-рендеры через React DevTools. Применять useMemo, useCallback и React.memo для предотвращения лишних вычислений.

Строить типизированный UI

Типизировать компоненты, хуки и API-ответы на TypeScript. Автоматически генерировать типы из OpenAPI-схемы бэкенда через openapi-typescript.

Сравнение / Контекст

React vs конкуренты

Выбор библиотеки зависит от задачи, команды и экосистемы проекта.

React vs Vue

Vue проще в начале: встроенные директивы, меньше бойлерплейта, понятная документация. React гибче, имеет большую экосистему и доминирует на российском рынке по числу вакансий. Vue предпочтителен для...

React vs Angular

Angular — полноценный фреймворк с DI, строгой структурой и встроенными решениями для всего. React — библиотека с гибким стеком по выбору. Angular популярен в корпоративном секторе, React — в...

React vs Svelte

Svelte компилируется в чистый JS без рантайма — получается меньше кода и выше производительность. React имеет несравнимо большую экосистему и сообщество. Svelte набирает популярность, но коммерческих...

Инструмент / Оркестрация

React: структура проекта и инструменты сборки

Типовая структура React-проекта на Vite. Разделение по слоям облегчает навигацию и поддержку по мере роста кодовой базы.

src/components

Переиспользуемые UI-компоненты без бизнес-логики: кнопки, карточки, модалки.

src/hooks

Кастомные хуки (useAuth, useFetch, useDebounce) — переиспользуемая логика, отделённая от UI.

src/pages

Компоненты страниц/маршрутов, обычно связанные с роутером (React Router, TanStack Router).

src/api

Клиенты для работы с backend — обёртки над fetch/axios, типизированные ответы API.

src/store

Глобальное состояние (Redux Toolkit, Zustand, Context) — только для данных, нужных нескольким несвязанным компонентам.

vite.config.ts

Конфигурация сборки: алиасы путей, плагины, настройки dev-сервера и прокси к backend.

Практика / React

React: лучшие практики и ошибки новичков

Практика 01

TypeScript-first

Типизация пропсов, state и API-ответов ловит целый класс ошибок до рантайма. Для новых проектов — стандарт по умолчанию.

Практика 02

Компонентная декомпозиция

Маленькие переиспользуемые компоненты вместо God-компонентов на 500+ строк. Один компонент — одна ответственность.

Практика 03

Custom hooks для переиспользования логики

Выносите повторяющуюся логику (запросы, подписки, таймеры) в собственные хуки вместо копирования между компонентами.

Практика 04

Мемоизация только там, где нужно

useMemo/useCallback/React.memo — не по умолчанию для каждого компонента, а точечно, после профилирования через React DevTools Profiler.

Практика 05

Code splitting по маршрутам

React.lazy + Suspense для страниц уменьшают начальный bundle и ускоряют первую отрисовку.

Практика 06

Тестируйте поведение, не реализацию

React Testing Library + Vitest/Jest: проверяйте, что видит пользователь, а не внутренние детали компонента.

Практика 07

Локальный state по умолчанию

Не тащите всё в глобальный store. State поднимается наверх только когда он реально нужен нескольким компонентам.

Практика 08

Error Boundaries

Перехватывайте ошибки рендера на уровне секций интерфейса, чтобы одна сломанная часть не обрушивала всё приложение.

Практика 09

Strict Mode в разработке

Включайте React.StrictMode — он ловит побочные эффекты, устаревшие API и двойные рендеры до продакшена.

Практика / Безопасность

Безопасность React: что нельзя делать

Риск 01

XSS через dangerouslySetInnerHTML

React экранирует строки, но dangerouslySetInnerHTML отключает защиту. Санитизируйте HTML через DOMPurify.

Риск 02

Prototype Pollution

Уязвимость в merge-функциях (Object.assign, spread). Проверяйте JSON с сервера.

Риск 03

CSRF в fetch-запросах

Если используете куки, настройте CSRF-токен на сервере — React не делает это автоматически.

Риск 04

Утечки памяти через useEffect

Подписки (setInterval, event listener) без очистки в return useEffect будут висеть вечно. Всегда возвращайте cleanup-функцию.

Риск 05

Секреты в сборке

API-ключи в .env попадают в бандл и видны в DevTools. Храните реальные ключи только на сервере (Next.js API Route, BFF).

Риск 06

Уязвимости зависимостей

React-проект содержит сотни пакетов в node_modules. Регулярно запускайте npm audit и используйте Dependabot.

Риск 07

Небезопасные inline-стили

Избегайте пользовательских данных в style-пропсах — возможна XSS в старых браузерах.

Риск 08

Отсутствие Subresource Integrity

При загрузке сторонних скриптов/стилей используйте integrity-атрибут для защиты от подмены CDN.

Навык / Границы

Когда React не нужен

Не серверная логика

React работает в браузере — или на сервере только для рендеринга HTML (SSR через Next.js). Бизнес-логика, работа с базой данных, аутентификация — это область Node.js, Python или Go, а не React.

Не для статических сайтов без интерактивности

Если страница не меняется после загрузки, React добавляет лишнюю сложность. Для полностью статического контента (документации, лендингов) лучше подходит Astro или Hugo с нулевым JS по умолчанию.

Не встроенная система маршрутизации

React сам по себе не умеет в маршрутизацию между страницами. Для SPA нужен React Router, для серверного рендеринга — Next.js или Remix. Это осознанное архитектурное решение, не упущение.

Не менеджер состояния

React управляет локальным состоянием компонента через useState. Глобальное состояние (авторизация, корзина, тема) требует дополнительных решений: Zustand, Redux или React Context с осторожностью.

Будущее / Роль

Перспективы React

Перспективы React завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.

Сигнал 01

React Server Components

RSC позволяют рендерить компоненты на сервере без отправки JS-кода в браузер. Next.js App Router построен на RSC — это новая архитектурная парадигма, которая меняет способ...

Сигнал 02

Компилятор React (React Forget)

React Compiler автоматически оптимизирует ре-рендеры без ручного useMemo и useCallback. В 2025 году вышел в стабильную версию — позволяет писать React-код без постоянной...

Сигнал 03

Concurrent Features и Suspense

React 18 Concurrent Mode позволяет прерывать рендеринг для приоритетных обновлений. Suspense для Data Fetching даёт декларативный способ отображения состояния загрузки без...

Практика / Портфолио

Портфолио с React: с чего начать

Проект 01

SPA с аутентификацией

React + TypeScript + React Router + React Query. Регистрация, вход, защищённые маршруты, список данных с пагинацией. Задеплоить на Vercel или Netlify.

Проект 02

Клон Trello или Kanban-доска

Drag-and-drop между колонками через dnd-kit, глобальное состояние через Zustand, TypeScript. Показывает понимание сложного управления состоянием и оптимизации ре-рендеров.

Обучение / Маршрут

Как изучить React

React изучают поэтапно: сначала JavaScript и DOM, затем компоненты и хуки, потом экосистема. Попытка начать с Redux или Next.js без понимания базовых концепций React приводит к поверхностному знанию без понимания «почему». Практика важнее теории: первые компоненты пишутся за день, но понимание управления состоянием и оптимизации ре-рендеров приходит только на реальных задачах. Оптимальный учебный проект — полноценное SPA с аутентификацией, запросами к API и несколькими маршрутами.

Этап 01

JavaScript ES6+

Arrow functions, деструктуризация, spread, Promise, async/await, модули. React без уверенного JS — путь к непониманию хуков и замыканий. Минимум — две...

Этап 02

Компоненты и JSX

Функциональные компоненты, JSX, условный рендеринг, списки с key. Написать первые 5-10 компонентов вручную: кнопку, форму, список, карточку товара.

Этап 03

Хуки useState и useEffect

Локальное состояние компонента. Запросы к API внутри useEffect с зависимостями. Типичная ошибка — бесконечный цикл из-за неправильного массива...

Этап 04

React Router и маршрутизация

Создать SPA с несколькими страницами, динамическими параметрами и вложенными маршрутами. Понять разницу между Link и useNavigate, lazy loading маршрутов.

Курсы · по данным рынка

Курсы по React

Соответствие — доля тем навыка, которые охватывает программа курса

Практика / Первый запуск

С чего начать изучение React

React учится через практику — теоретические видео без написания кода не дают результата. Правильный старт: сначала закрепить JavaScript, потом написать первый компонент, потом первое приложение с данными из API.

Шаг 01

Проверить знание JavaScript

Убедиться, что понятны: стрелочные функции, деструктуризация, spread-оператор, Promise, async/await, map/filter/reduce, ES-модули. Без этого React останется непонятным.

Шаг 02

Создать первый проект через Vite

npm create vite@latest my-app -- --template react-ts. Запустить npm run dev. Изменить App.tsx — увидеть мгновенное обновление в браузере.

Шаг 03

Написать компонент с состоянием

Создать Counter с useState. Добавить кнопки + и -. Добавить условный рендеринг: показывать предупреждение при значении < 0. Понять цикл: событие → обновление состояния → ре-рендер.

Шаг 04

Загрузить данные из API

Установить React Query. Создать компонент, который загружает список пользователей из JSONPlaceholder. Добавить обработку загрузки и ошибки. Это основной паттерн любого реального приложения.

Шаг 05

Добавить маршрутизацию

Установить React Router v6. Создать три страницы: главную, список и детальную. Добавить навигацию между ними через Link. Понять разницу между useNavigate и Navigate компонентом.

Старт / Документация

Официальные ресурсы и быстрый старт

Для React важнее всего быстро перейти к документации и стартовым материалам, а рынок и зарплаты уже помогают понять ценность навыка.

Частые вопросы

Вопросы и ответы

Что такое React простыми словами?

React — библиотека JavaScript, которая помогает строить интерфейсы сайтов и приложений. Вместо ручного изменения HTML через DOM, разработчик описывает, как должен выглядеть интерфейс при разных данных, а React сам обновляет нужные части страницы.

React — это фреймворк или библиотека?

Библиотека. React решает только одну задачу — построение интерфейса. Маршрутизация, запросы к API, управление глобальным состоянием — всё это отдельные библиотеки на выбор разработчика. Angular — фреймворк, Vue — ближе к фреймворку, React — явная библиотека.

Нужно ли знать JavaScript перед изучением React?

Да, обязательно. Без уверенного ES6+ (стрелочные функции, деструктуризация, Promise, async/await, модули) React останется набором магических конструкций без понимания. Минимум — два-три месяца практики JavaScript перед переходом к React.

React или Vue — что лучше учить?

На российском рынке React встречается примерно втрое чаще Vue по вакансиям. React сложнее, требует осознанного выбора архитектуры, но даёт более гибкий стек. Vue проще в начале и строже структурирован. Для карьеры в России — React предпочтительнее по числу вакансий.

Что такое хуки в React?

Хуки — функции с префиксом use, которые дают компонентам доступ к возможностям React: useState для локального состояния, useEffect для побочных эффектов, useContext для доступа к глобальным данным. Хуки заменили классовые компоненты и сделали логику переиспользуемой через кастомные хуки.

Сколько зарабатывают разработчики на React?

Зарплата зависит от уровня: разрыв между Middle и Senior определяется архитектурной зрелостью, а не знанием синтаксиса. Знание Next.js и TypeScript в связке с React увеличивает число доступных вакансий и уровень компенсации. Актуальные данные по зарплатам — в рыночном блоке этой страницы.