<img src="https://habrastorage.org/getpro/habr/upload_files/dd4/300/1c1/dd43001c1a27c242c539ca0f581a211b.jpg" /><p>Ты понимаешь, что баг хорош, если первым делом думаешь: <a href="https://allenpike.com/2018/the-great-bug-hunt/" rel="noopener noreferrer nofollow">«Как это вообще может происходить?»</a></p><p>Недавно я занимался доработкой дэшборда веб-приложения, над которым мы работаем, и заметил, что его загрузка длится <em>бесконечно</em>. Раньше на это требовалась одна секунда, но теперь ему требуется десять. Происходит что-то подозрительное.</p><p>Разумеется, сначала я обвинил в этом React.</p><p>Да, конечно, в современном веб-приложении может быть множество потенциальных причин проблем с производительностью: сторонний JavaScript, перегруженные серверы, раздутые ресурсы, отсутствующие индексы базы данных; список можно продолжать очень долго. Но опыт десятков лет разработки для веба подсказывал мне, что это была проблема фронтенда. Я просто чувствовал это. При загрузке страница дёргалась. И несмотря на то, что экосистема React сегодня — наименее плохой выбор для веб-фронтенда, она по разным причинам может оказаться хаотичной и тормозной.</p><p>Чтобы подтвердить свою теорию, я рассказал Claude<sup>1</sup>, что загрузка дэшборда тормозит и что проблемы наверняка в React, попросив проанализировать их и ранжировать по степени серьёзности. Конечно же, Claude обнаружил в React кучу подозрительных аспектов — ненужный повторный рендеринг, отсутствующие мемоизации и так далее. К тому же он подсказал, что мы всё ещё не используем React Compiler. Я попросил Claude выполнить первый проход решения самых простых и самых серьёзных проблем React, но…</p><p>Практически ничего не поменялось. Возможно, дело всё-таки не в React.</p><p>Итак, я закатал рукава и начал тщательное расследование.</p> <a href="https://habr.com/ru/articles/1002140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1002140#habracut">Читать далее</a>