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