Производительность ReactDOM.unmountComponentAtNode - PullRequest
0 голосов
/ 14 июля 2020

Мы провели некоторое тестирование производительности нашего приложения. Из-за устаревших проблем все наше приложение не является React. Наш контейнер приложения создает div, которые мы затем передаем в ReactDOM.render (...., div), et c. для рендеринга элемента управления React.

Позже, когда мы очищаем, мы вызываем ReactDOM.unmountComponentAtNode (div) для каждого из этих div.

Что мы замечаем, когда тестируем с большим числом из наших элементов управления реагированием, время, затрачиваемое внутри unmountComponentAtNode, кажется, занимает больше времени и зависит от фактического количества элементов управления, которые он должен очистить, даже если каждый элемент управления не зависит друг от друга. Я вижу такие вещи, как findCurrentHostFiberWithNoPortals, поэтому мне интересно, может быть, он пытается что-то найти и

Может ли кто-нибудь пролить свет на теории относительно того, почему время размонтирования, похоже, увеличивается линейно с количеством размонтированных элементов управления, это было бы прекрасно. Конечно, следующий вопрос: что мы могли бы сделать, чтобы помочь React ускорить очистку / размонтирование?

Это изображение времени, которое я регистрировал для каждого элемента управления по мере увеличения количества элементов управления (16, 32 и т. c) введите описание изображения здесь

...