Операция выполнена!
Закрыть
Хабы: ReactJS, JavaScript, Программирование

Знакомая ситуация: в контексте лежат два поля, скажем, name и age. Меняется age, и ререндерится компонент, который читает только name. У useContext нет селектора, как у useSelector в Redux: React сравнивает value провайдера целиком, а при каждом изменении это новый объект. Ни useMemo, ни React.memo тут не спасают.

В статье — небольшой контекст, где компонент ререндерится, только когда меняется его собственное поле. И разбор, почему он устроен именно так:

Почему через контекст стоит передавать не сами данные, а стабильный объект доступа к ним?

Почему обычные приёмы — useMemo на value и раздельные контексты — до этого не дотягивают?

Зачем для подписки нужен useSyncExternalStore и что такое tearing?

На каких деталях легко ошибиться и когда такой контекст вообще нужен?

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro