Чего не хватает в самом React
React — библиотека для построения интерфейсов. Он умеет одно: показывать интерфейс в зависимости от данных. И всё.
Для настоящего сайта нужно ещё многое:
- Маршрутизация. Разные страницы по разным адресам.
- Работа с сервером. Откуда-то надо брать данные.
- Отрисовка на сервере. Чтобы поисковики видели содержимое, а не пустую страницу.
- Сборка и оптимизация. Разбиение кода, обработка картинок, кэширование.
- Структура проекта. Куда что класть.
Всё это можно собрать самому из отдельных библиотек. Именно так и делали раньше, и это отнимало недели на настройку до первой строчки полезного кода.
Что даёт надстройка
Фреймворк вроде Next.js даёт всё перечисленное сразу и с разумными настройками по умолчанию.
Маршрутизация по файлам. Создали файл в нужной папке — появился адрес. Не надо описывать маршруты вручную.
Отрисовка на сервере. Страница приходит уже с содержимым. Это важно для поисковиков и для скорости первого показа: человек видит текст сразу, а не пустой экран.
Работа с данными на сервере. Можно обратиться к базе прямо из кода страницы, не создавая отдельный сервис.
Готовая сборка. Не надо настраивать инструменты — всё работает из коробки.
Стоит ли новичку
Порядок такой:
- Сначала язык. Без уверенного JavaScript всё остальное бессмысленно.
- Потом React сам по себе. Компоненты, состояние, списки, формы. Сделайте на нём пару страниц.
- Потом фреймворк.
Причина такого порядка: если начать с фреймворка, вы не будете понимать, где заканчивается язык, где библиотека и где надстройка. Любая нестандартная задача поставит в тупик, потому что непонятно, у кого спрашивать.
Оговорка: сегодня многие вакансии подразумевают работу именно с фреймворком, а не с чистым React. Так что откладывать надолго тоже не стоит — пары недель на React отдельно достаточно.
Что понять в первую очередь
Разница между кодом на сервере и в браузере. В современных версиях компоненты по умолчанию выполняются на сервере, а для интерактивности нужен явный признак. Это главный источник путаницы у новичков: код, который прекрасно работал в обычном React, вдруг падает с непонятной ошибкой.
Как получать данные. В серверном компоненте можно просто дождаться результата запроса, без специальных приёмов.
Кэширование. Фреймворк кэширует агрессивно, и это регулярно удивляет: изменили данные, а страница показывает старое.
Стоит ли брать для учебного проекта
Да, если проект — сайт с несколькими страницами и данными. Вы получите нормальную структуру и не потратите неделю на настройку.
Нет, если задача — понять, как устроен React. Для этого чище взять минимальную сборку без надстроек: меньше магии, больше понимания.
И честная оговорка: версии фреймворков меняются быстро, подходы вместе с ними. Инструкция годовой давности может описывать другой мир. Проверяйте по официальной документации, а не по первой найденной статье.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Why you need a framework on top of ReactWhat React doesn't solve, what a framework like Next.js adds, and whether a beginner should start there.
- React: state and passing data, with examplesWhat state is, how it differs from props, how to lift it up, and the mistakes everyone makes.
- React: состояние и передача данных на примерахЧто такое состояние, чем оно отличается от передаваемых данных, как поднимать его наверх и какие ошибки совершают все.