tg-me.com/React_lib/669
Last Update:
🧩 Фишка: оптимизация ререндеров в React через Object.freeze
Если в стейте компонента хранятся вложенные объекты, React не сможет понять, что они не изменились, даже если вы не меняли их вручную. Это может привести к лишним ререндерам.
📌 Решение: используйте Object.freeze()
для вложенных структур, чтобы избежать случайных мутаций и упростить сравнение.
const initialFilters = Object.freeze({
category: 'all',
priceRange: [0, 100],
});
const [filters, setFilters] = useState(initialFilters);
⚠️ Замороженный объект нельзя мутировать — это делает поведение более предсказуемым.
💡 Также
freeze
улучшает производительность при использовании React.memo
или useMemo
, так как ссылки на вложенные структуры остаются стабильными.👀 Подходит для конфигов, словарей, фильтров и других редко изменяемых объектов.
✍️ @React_lib
BY React
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/React_lib/669