🧩 Фишка: оптимизация ререндеров в 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
Просмотры: 246
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти