Рендеринг и монтирование - это два разных процесса в 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 происходит только один раз при создании нового экземпляра компонента.