приколу обмазал несколько мелких компонентов этой фичей и с помощью инспектора сраванил количество ререндеров - результат поразил.
это очень сильно от того что у вас вообще за код зависит, не один конкретный компонент а проект в целом
вот например что я решил, у меня было очень много ререндеров при клике на элемент списка (например на аптейдт чего либо) и после ререндера у меня тупо обновлялась вся страница по сути - список, фильтры, группы и так далее. обмазав каждый независимый компонентой memo-ой - реренды исчезли
вот то что у вас вся страница обновляется это ненормально
ну лагов каких либо небыло замечено, хотя страница очень нагружена (списки по 2к+ елементов + филтрации) но девтулзы показывали множество ререндеров при взаимодействии с любым елементом списка
то есть меняется выбор в списке - ререндериться даже логотип какой то в шапке ?
нет, только функционал связанный со страницей
ну не только memo поможет от лишних ререндеров еще можно избавиться от prop drill ов например )
https://kentcdodds.com/blog/usememo-and-usecallback/
ну пропдрилы максимум на 1 компонент вниз, максимально абужу useSelector/useDispatch, полет нормальный
Обсуждают сегодня