tg-me.com/React_lib/680
Create:
Last Update:
Last Update:
🎯 Оптимизация ререндеров в React через мемоизацию функций
Многие знают про React.memo
, но часто забывают про useCallback — и получают лишние ререндеры, особенно в списках и сложных компонентах.
📌 Проблема:
const handleClick = () => {
console.log('Clicked');
};
<MyButton onClick={handleClick} />
Такой
handleClick
создаётся заново при каждом рендере. Если MyButton
мемоизирован (React.memo
), это сломает оптимизацию — пропсы-то изменились!✅ Решение:
const handleClick = useCallback(() => {
console.log('Clicked');
}, []);
📈 Профит: Функция сохраняется между рендерами,
MyButton
не ререндерится без причины.🧠 Особенно важно для:
* Компонентов в списках (
map
)* Контейнеров с большим числом коллбеков
* Производительных UI (таблицы, дашборды, графики)
💡 Используйте eslint-плагин
react-hooks/exhaustive-deps
— он не даст забыть зависимости.✍️ @React_lib
BY React

Share with your friend now:
tg-me.com/React_lib/680