Разумно ли получить React «Превышена максимальная глубина обновления» без случайной рекурсии?
Я пишу приложение Cesium/Resium с примерно 12000 кликабельными анимированными точками. Я получаю предупреждение ReactMaximum update depth exceeded
. Когда количество точек <5000, предупреждение не появляется, но где-то в диапазоне 7-8000 я обычно вижу это предупреждение. При отладке в браузере мой стек вызовов состоит из большого количестваrecursivelyTraverseMutationEffects
за которым следует многоpostMessage (async)
Я уже устранил два источника этого предупреждения, которые были глупой рекурсией. У меня естьuseEffect
это обновляло его триггер.
Является ли это предупреждение признаком того, что приложение необходимо оптимизировать, или признаком того, что происходит какой-то глупый рекурсивный рендеринг?
2 ответа
Это ошибка, вам нужно ее исправить.
В зависимости от полного сообщения об ошибке эта ошибка означает
- по крайней мере, что была проделана ненужная работа , что сделало ваше приложение очень медленным или
- React прекратит свою работу при этой ошибке, поэтому ваше приложение, скорее всего, будет сломано или в нем будет отсутствовать контент.
Да.Разумно получить React «Превышена максимальная глубина обновления» без случайной рекурсии. Мы установили крошечный размер рендеринга объектов, и теперь мы можем отображать гораздо больше объектов, прежде чем нажать кнопку