Я работаю в средне-масштабном приложении React / redux.Несколько раз в прошлом я измерял производительность и уменьшал стоимость рендеринга компонентов, когда это было возможно.То есть, когда я смотрю на него вручную.
Всегда есть время, когда что-то отстает, и я понимаю, что некоторые более ранние коммиты вызывали снижение производительности, потому что это вызывало слишком частый повторный рендеринг части дерева.Итак, я хотел бы избежать этих регрессий, например, в интеграционных тестах моего приложения.Как я могу это сделать?
Я думал о следующем интеграционном тесте, который нужно запустить на соответствующих страницах / состояниях приложения:
- Смонтировать / посетить приложение / перейти в соответствующее состояние
- Ожидание загрузки соответствующих данных / инициализация приложения
- Запустить действие, которое изменяет состояние корневого избыточного кода (
state => { ...state }
) или что-либо, что: - происходит часто;и
- не должен вызывать повторный рендеринг.
- Обнаружение любого повторного рендеринга компонентов вниз по дереву
Это последнийУкажите, что меня интересует.
Звучит довольно просто, но я не уверен, как это сделать.Я хотел бы получить общий ответ на этот вопрос, независимо от того, какие инструменты тестирования используются.
Кроме того, этот вопрос ориентирован на редуксы, но я думаю, что его актуальность распространяется на все, что вызывает повторный рендеринг, еслиВы хотите измерить / проверить это.