У меня есть браузерное приложение с архитектурой React-Redux. В приложении происходит много событий (например, тайм-ауты, входящие сообщения через веб-сокет, сообщения веб-работников, ответы XHR и т. Д.). Каждое событие генерирует действие Redux, которое изменяет хранилище Redux, которое вызывает рендеринг React.
Проблема в том, что события происходят так часто, что React не имеет достаточно времени для визуализации пользовательского интерфейса (например, событие происходит каждые 5 мс (или чаще), а React требуется 10 мс для визуализации пользовательского интерфейса). Это приводит к тому, что вся страница перестает отвечать, потому что процесс рендеринга не останавливается (у него всегда есть что-то для рендеринга), и у браузера нет времени рисовать DOM или обрабатывать событие DOM.
Каковы подходы или готовые решения для решения этой проблемы, учитывая, что я не могу уменьшить ни частоту событий, ни время рендеринга React?