Русский
Открыть в Telegram

Пост useContextSelector – быстрый доступ к большому контексту

29 октября 2024
З
Заметки про React
Ссылка
нажмите — покажем
useContextSelector – быстрый доступ к большому контексту Если в вашем приложении используется большой контекст, то он может негативно влиять на производительность приложения. Каждое изменение контекста вызывает ре-рендер всех компонентов, которые зависят от контекста. Чтобы уменьшить лишние ре-рендеры, можно мемоизировать компоненты: import { memo } from 'react'; const Welcome = () => { const { color } = useContext(ThemeContext); return <WelcomeBody color={color} /> } const WelcomeBody = memo(({ color }) => { return <div style={{ color }}>Hello!</div>; }) Еще один вариант оптимизации - разделить один большой контекст на несколько. У такого подхода есть минус: когда используется слишком много контекстов, с этим сложно работать. Если вы не хотите использовать стейт-менеджеры, то при работе с контекстом можете использовать библиотеку use-context-selector. С ее помощью можно читать только часть объекта контекста и ре-рендерить, когда эта часть изменится. import { createContext, useContextSelector } from 'use-context-selector'; const MyContext = createContext(null); const Counter1 = () => { const value = useContextSelector(MyContext, value => value.myValue); … } https://marmelab.com/blog/2024/10/16/usecontextselector-a-faster-usecontext-for-react.html
36 · 3.5K ·

Рядом в ленте

ЗЗаметки про ReactDrag to Select Интерактивный гайд с иллюстрациями о том, как реализовать выбор элементов в React. В гайде учтены разные функции, например скроллинг во время перЗЗаметки про ReactРелиз Next.js 15 Вышел релиз Next.js 15. Можно обновиться как вручную, так и автоматически, используя CLI. Коротко о новых фичах: - Изменения в API асинхронных
это сообщение
ЗЗаметки про ReactБета релиз React Compiler Вышел бета релиз React Compiler и ESLint плагина. npm install -D babel-plugin-react-compiler@beta eslint-plugin-react-compiler@beta КоЗЗаметки про ReactДва пути к двум React Интересные мысли о разном видении интеграции современных функций React в Next.js и TanStack Start. ✨ Next.js – одна из самых популярных би
ЗЗаметки про ReactЗаметки про React@ru_react_notes · канал · Технологии
3 412подписчиков491постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем