Рендеринг и монтирование - это два разных процесса в React.

Монтирование mounting - это процесс создания реальных элементов DOM на основе виртуального дерева DOM компонента и добавление их на страницу. Когда компонент монтируется, React создает элементы DOM, устанавливает начальные свойства и атрибуты, вызывает методы жизненного цикла (например, constructor()componentDidMount()) и добавляет элементы на страницу.

Рендеринг render() - это процесс создания виртуального дерева DOM на основе состояния и свойств компонента. В процессе рендеринга React сравнивает виртуальное дерево DOM с предыдущим состоянием компонента и определяет, какие элементы следует обновить, добавить или удалить. После этого React обновляет реальный DOM, чтобы он соответствовал виртуальному дереву DOM.

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

Рендеринг бывает 2 видов:

  • первоначальный/initial: происходит при инициализации приложения;
  • повторный/rerendering: происходит при определенных условиях (см. ниже).

Для управления первоначальным рендерингом предназначены такие вещи как утилита lazy и компонент верхнего уровня Suspense, позволяющие выполнять разделение кода/code splitting, т.е. загружать (в этом React помогает Webpack) и выполнять только тот JS-код, который используется приложением в данный момент, а также условный рендеринг/conditional rendering компонентов, когда рендерятся только те компоненты, которые “соответствуют” текущему состоянию приложения.

Повторный рендеринг происходит в следующих случаях:

  • изменение состояния компонента;
  • изменение значений пропов/props, передаваемых компоненту;
  • повторный рендеринг родительского компонента.

Основное различие между render() и mounting заключается в том, что rendering происходит каждый раз, когда изменяются свойства или состояние компонента, в то время как mounting происходит только один раз при создании нового экземпляра компонента.


Назад