Проблемы с производительностью гибридного приложения IE10 с реакцией / без реакции

#reactjs

#reactjs

Вопрос:

У меня, по общему признанию, странный вопрос. Мы находимся в процессе переноса существующего приложения на react. Из-за некоторых ограничений устаревшего кода, с которым мы имеем дело, большинство наших пользователей используют IE11 в режиме совместимости с IE10. Мы столкнулись с проблемой с довольно большими doms, из-за которой время рендеринга остальной части приложения, не являющегося react, увеличилось, возможно, на 20%, поскольку react фактически ничего не отображает на странице (хотя она все еще загружена в память). Для меня это не совсем имеет смысл, поскольку я думал, что react отслеживает только свои собственные деревья. Есть ли что-нибудь еще, что react может делать глобально, что может вызвать проблемы с производительностью такого типа? Я просмотрел трассировки сеансов производительности в IE, и мне ничего не бросается в глаза, поскольку выполняется на стороне react. Я понимаю, что в идеале у нас были бы меньшие doms, но мы имеем дело с некоторым устаревшим кодом, и это не немедленный вариант.

Комментарии:

1. reactjs превращает проект в одностраничное приложение, поэтому, по сути, весь сайт теперь является проектом react. С учетом сказанного я предполагаю, что проблема совместимости IE где-то обременяет клиентский процессор.

2. Да, я тоже думаю о проблемах совместимости, за исключением того, что я не вижу никаких ошибок консоли или js из сценариев react на странице ни в одной из трассировок стека в профилировщике производительности. Не уверен, где еще можно проверить, откуда могут возникнуть проблемы.

3. Это может быть просто IE, а не reactjs вообще. Можете ли вы удалить / заменить часть reactjs и самостоятельно протестировать производительность сайта IE?

4. У меня есть два сценария, которые я тестировал: 1. приложение, на которое не ссылается react и которое вообще не загружено в приложение 2. приложение с react, загруженное в приложение (но без элементов react, отображаемых в DOM) 2, в конечном итоге занимает примерно на 10-20% больше времени, чем 1.

5. Я полагаю, что изменение состояния реакции может привести к тому, что браузер обработает большое количество данных, и это может быть источником замедления. Это может произойти без завершения DOM. Может быть, поискать что-то подобное?