Что это простыми словами
React — это самый популярный инструмент для создания интерфейса сайтов и приложений. Интерфейс — это всё, что человек видит и трогает: кнопки, формы, меню, ленты, корзина в магазине.
Аналогия: страницу собирают не из единого полотна, а из готовых деталей конструктора. Сделал карточку товара один раз — и расставил её сто раз по всему каталогу. Такие детали разработчики называют «компонентами».
Формально React — это библиотека, но в вакансиях и разговорах его часто называют фреймворком. Придираться к этому не нужно.
Официальное определение
Теперь, когда суть понятна, вот как React описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме.
«React — декларативная JavaScript-библиотека для построения пользовательских интерфейсов на основе переиспользуемых компонентов с однонаправленным потоком данных».
Разберём по словам. «Компонент» — готовый блок страницы (шапка, карточка товара, кнопка). «Переиспользуемый» — такой блок делают один раз, а используют многократно. «Декларативная» — разработчик описывает, каким должен быть результат, а не расписывает пошагово каждое действие. «Однонаправленный поток данных» — данные передаются по строгим правилам сверху вниз, чтобы части приложения не рассинхронизировались.
Зачем нужен и какую задачу решает
Без таких инструментов сложный сайт пришлось бы собирать вручную и тяжело поддерживать: поменял одну деталь — и легко сломать что-то в другом месте. React решает эту боль: интерфейс разбит на блоки, каждый отвечает за своё, а когда данные меняются (например, добавили товар в корзину), нужные блоки обновляются сами. Поэтому на React удобно делать большие живые интерфейсы: интернет-магазины, личные кабинеты, панели управления, соцсети.
К кому относится: язык, специальность, экосистема
React — инструмент frontend-разработчика. Работает на языке JavaScript, чаще всего вместе с TypeScript (тот же JavaScript, но с проверкой ошибок заранее). «React-разработчик» — это фронтендер, который специализируется на React.
Вокруг React выросла своя экосистема — набор библиотек-спутников, которые вы постоянно будете видеть в резюме рядом с ним:
Next.js — надстройка над React для целых сайтов: быстрее открываются и лучше находятся в поиске.
Redux, Zustand, MobX, Effector — «склады данных» приложения, чтобы части страницы не путались, у кого какая версия информации.
React Router — переходы между страницами. TanStack Query — загрузка данных с сервера. React Hook Form — работа с формами.
MUI, Ant Design — готовые наборы кнопок и элементов интерфейса.
React Native — родственник React для мобильных приложений.
С чем взаимозаменяем
React — один из трёх основных инструментов фронтенда, наряду с Vue и Angular. Они решают одну задачу, но устроены по-разному, и друг с другом НЕ взаимозаменяемы при найме: React-разработчик не равен Vue- или Angular-разработчику, опыт между ними почти не переносится.
А вот внутри мира React выбор спутника непринципиален: кто работал с Redux, быстро освоит Zustand. Это не повод отбраковывать.
Что не путать
React ≠ React Native: первый — для сайтов, второй — для мобильных приложений. Связаны, но это разные технологии.
Next.js ≠ NestJS: звучат почти одинаково, но Next.js построен на React и относится к фронтенду, а NestJS — это бэкенд. Если в вакансии «Nest» — речь, скорее всего, о бэкенде.
React ≠ JavaScript: JavaScript — это язык, а React — инструмент, написанный на нём. Знать React, не зная JavaScript, нельзя.
«React», «React.js» и «ReactJS» — это одно и то же, просто разные написания.
Насколько это важно при отборе
Короткий ответ: это жёсткий фильтр.
Фреймворк — это «школа». React, Vue и Angular устроены по-разному, и опыт между ними почти не переносится. Предлагать Vue-разработчика на вакансию с React — почти всегда ошибка: человеку понадобятся месяцы, чтобы выйти на прежнюю продуктивность. Отсеивать кандидатов по фреймворку — нормальная и правильная практика.
Но не переносите эту строгость на уровень ниже. Библиотеки внутри React (Redux, Zustand, React Router) взаимозаменяемы, и требовать конкретную — ошибка. Правило простое: по фреймворку отсеивать можно, по библиотекам внутри него — нет.
Отдельно про Next.js: если кандидат знает React, но не работал с Next.js, это обычно не проблема — надстройка осваивается быстро.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.