PassFront
  1. PassFront
  2. База знаний
  3. Основы HTML

Объясни, будет ли одинаково работать HTML разделенный с JavaScript без React и с React: от чего это зависит и почему.

Основы HTML

Будет ли HTML работать одинаково, зависит от того, кто управляет DOM: при отдельном JavaScript разметкой управляет браузер и ваш код напрямую, а в React — сам React по своему виртуальному описанию.

Без React

  • HTML — источник правды: браузер строит DOM, скрипт находит элементы (querySelector) и меняет их.
  • Состояние хранится в самом DOM (значение input, классы).
  • Подходит для небольших страниц и прогрессивного улучшения.

С React

  • Источник правды — состояние компонента; DOM — его отражение.
  • При изменении состояния React сам сравнивает новое описание со старым и меняет только нужные узлы.
  • Если вручную изменить DOM, которым управляет React, при следующем рендере он может перезаписать изменения или сломаться.

От чего зависит одинаковость

  • Семантика и CSS работают одинаково — это обычный HTML.
  • Поведение и события отличаются: в React обработчики навешиваются через пропсы, события делегируются на корень.
  • SEO и первая загрузка: React без SSR отдаёт пустую страницу до загрузки JS; с SSR — готовый HTML, который затем «оживает» (гидратация).

Коротко для собеседования

Внешне — одинаково, если разметка та же; различается управление: без React DOM меняют напрямую, в React DOM — производная от состояния, и ручные правки DOM конфликтуют с React.

Подробнее: React — Thinking in React

Другие вопросы раздела