Для чего используется React и почему его выбирают
Что проверяют
Понимаете ли вы, какую задачу решает React, и можете ли назвать альтернативы, не превращая ответ в рекламу.
Как отвечать
React это библиотека для построения интерфейса из компонентов. Основная идея декларативная: вы описываете, как должен выглядеть интерфейс при данном состоянии, а не какими шагами его туда привести. Синхронизацию с DOM берёт на себя библиотека.
Почему выбирают:
- компонентная модель: интерфейс разбивается на переиспользуемые части со своим состоянием, что позволяет вести большой проект командой;
- однонаправленный поток данных: состояние течёт сверху вниз, изменения идут обратно событиями. Отладка предсказуемая, потому что источник истины один;
- экосистема: маршрутизация, работа с данными, формы, компонентные библиотеки, тестирование. Для типовой задачи есть проверенное решение;
- рынок: людей найти проще, чем на любой другой каркас, и это часть выбора, хотя вслух её называют редко;
- не только веб: React Native даёт мобильные приложения на той же модели.
Честные оговорки: React это про представление, а не готовый каркас, поэтому маршрутизацию и работу с данными подбирают отдельно (или берут Next.js). Виртуальный DOM не делает интерфейс быстрее сам по себе, а Svelte и Solid обходятся без него.
Где спотыкаются
Говорят «React быстрый» и не могут объяснить, за счёт чего.
Не различают React и Next.js.
Не могут назвать ни одной альтернативы и её сильной стороны.
Считают виртуальный DOM главным преимуществом, хотя главное это модель и экосистема.