Современные React-приложения страдают от незаметной на первый взгляд проблемы: компоненты перерисовываются чаще, чем необходимо. Неоптимизированные ререндеры снижают FPS, расходуют заряд батареи и ухудшают пользовательский опыт, особенно на слабых устройствах. Рассмотрим реальное решение через мемоизацию.
Почему лишние ререндеры возникают?
React перерисовывает компонент в трёх случаях:
- Изменились пропсы
- Изменилось состояние компонента
- Изменился родительский компонент
Проблема возникает, когда дочерние компоненты обновляются из-за изменений, которые на них не влияют. Классический пример:
...