React Bits: лучшая библиотека визуальных компонентов для React в 2026 году
171 готовый эффект: шейдерные фоны, объёмные галереи, текст, который реагирует на курсор. Ставится одной командой, бесплатно. Мы держим её в проде больше года и рекомендуем.

В этой статье8
React Bits — открытый каталог анимированных React-компонентов: шейдерные фоны, текстовые эффекты, объёмные галереи, меню и карточки. На 2 сентября 2026 в бесплатной части 171 компонент. Это не npm-пакет: компонент ставится командой `npx shadcn@latest add https://reactbits.dev/r/Aurora-TS-TW` и попадает в проект обычным файлом, который дальше правите как свой. У каждого компонента четыре варианта: JavaScript или TypeScript, обычный CSS или Tailwind. Лицензия MIT с оговоркой Commons Clause, в своих и клиентских проектах использовать можно. Мы держим восемь её компонентов в проде больше года и считаем её лучшим в 2026 году каталогом визуальных React-компонентов.
Есть сайты, к которым не придраться, и на которые нечем засмотреться. Всё на месте: сетка ровная, шрифт приличный, отступы выверены. И всё равно страница выглядит как шаблон, потому что на ней ничего не происходит.
Между «нормально» и «вау» обычно лежат недели работы с шейдерами, GSAP и Three.js. React Bits убирает эти недели. Это открытый каталог визуальных компонентов для React, где эффект уже написан, отлажен и настроен, а вам остаётся выбрать его и поставить одной командой.
Я пользуюсь этой библиотекой больше года на боевых проектах, и в своей категории ничего лучше не встречал. Восемь её компонентов работают прямо на этом сайте, включая тот фон, за которым вы сейчас читаете текст. Дальше по порядку: что там лежит, как это выглядит и что стоит знать до того, как ставить.
Фоны, которые вытаскивают первый экран
Самая сильная часть каталога. Пятьдесят шесть фонов, и почти все они нарисованы шейдерами, то есть считаются видеокартой и весят несравнимо меньше видео.
Рядом лежат Galaxy со звёздным полем, Threads с колышущимися нитями, Dither с ретро-зерном, Plasma, Lightning, Hyperspeed, Balatro. Названия говорят сами за себя, и это половина пользы каталога: вы приходите не за абстрактной «анимацией», а за конкретным эффектом, который где-то видели и полдня прикидывали, как повторить.
У каждого фона на сайте живое превью и панель настроек: цвета, скорость, интенсивность, шум. Подкрутили ползунки, увидели результат, забрали готовые значения в код.
Компоненты, ради которых стоит зайти отдельно
Фоны бросаются в глаза первыми, но самое интересное лежит в разделе Components. Там вещи, которые обычно собирают вручную по два дня.
Там же Dock как в macOS, Spotlight Card с бликом, следящим за мышью, Card Swap с колодой карточек, Flying Posters, Circular Gallery, Staggered Menu, Profile Card, Stepper для многошаговых форм. Сорок пять штук, и это не декорации, а рабочие узлы интерфейса.
Текст, который перестаёт быть просто текстом
Тридцать два эффекта только для типографики. Split Text рассыпает заголовок по буквам на появлении, Decrypted Text расшифровывает строку из случайных символов, Count Up крутит цифры, Shiny Text пускает металлический блик, Scroll Reveal проявляет абзац по мере прокрутки.
Если открываете библиотеку впервые, начните именно отсюда. Текстовая анимация на заголовке первого экрана меняет ощущение от страницы за пятнадцать минут, весит копейки и работает вообще везде. Фоны красивее, но за них придётся заплатить вниманием к деталям, об этом ниже.
Ставится одной командой, дальше код ваш
React Bits устроен как shadcn: вы ничего не добавляете в package.json. Сайт отдаёт реестр, CLI кладёт исходник компонента прямо в вашу папку.
npx shadcn@latest add https://reactbits.dev/r/Aurora-TS-TW# то же самое через jsreponpx jsrepo@latest add https://reactbits.dev/r/Aurora-TS-TW
Хвост TS-TW выбирает вариант. Каждый компонент лежит в четырёх видах: JS с обычным CSS, JS с Tailwind, TypeScript с CSS, TypeScript с Tailwind. К вам приезжает версия под ваш стек, а не чужая система стилей вместе с ней.
Компонент, приехавший файлом, правится как ваш собственный: меняете пропсы, вырезаете лишнее, дописываете то, о чём автор не думал. Обратная сторона честная: обновления сами не приедут, свежую версию придётся ставить заново и переносить правки руками.
Есть и режим для тех, кто работает с ИИ-агентом. Реестр прописывается в components.json, дальше npx shadcn@latest mcp init --client claude, и Claude Code сам ищет по каталогу и ставит компоненты. Просите «поставь фон с лучами на первый экран» и получаете установленный компонент вместо ссылки на документацию.
Что из этого стоит у нас
На сайте академии сейчас восемь компонентов оттуда. ColorBends течёт за первым экраном, поверх него изогнутой строкой идёт CurvedLoop, кнопки собраны на SpecularButton, галерея работ на AccordionGallery. Aurora стоит фоном на странице старта и в гайдах, там же Particles, Stepper ведёт по шагам, Galaxy крутится в модалке с подсказкой прокрутки.
Ни один не остался в исходном виде, и это нормальная работа с чужим кодом. У ColorBends на лендинге прописано hidden md:block, потому что телефону этот шейдер не нужен ни за какие деньги. Ещё одна правка из тех, что не гуглятся: ColorBends складывает цвета полос, а не смешивает их, поэтому три насыщенных цвета дают белое пятно на пересечении. Мы взяли три глубоких близких оттенка (#6d28d9, #1d4ed8, #c2410c), и сумма осталась в сине-фиолетовой гамме логотипа. Полчаса подбора, зато компонент выглядит нашим, а не взятым с витрины.
Одна вещь, о которой нельзя забыть: WebGL
Красивые фоны рисуются шейдерами. Внутри Aurora первой строкой импорта идёт ogl, лёгкая обёртка над WebGL, у части компонентов встречается three. При монтировании такой компонент молча пытается получить графический контекст браузера.
Ловушка в том, что «браузер умеет WebGL» и «браузер выдаст контекст» это разные вещи. Контекст не создастся, если выключено аппаратное ускорение, если нет живого драйвера, если человек сидит через удалённый рабочий стол, если на вкладке уже открыто слишком много контекстов. Проверка 'WebGLRenderingContext' in window при этом пройдёт спокойно, а getContext вернёт null или бросит исключение. Ошибку вы не увидите, увидит часть посетителей, и выглядеть она будет как чёрная дыра на месте фона.
Лечится проверкой, которая честно пробует создать контекст и сразу его отпускает. У нас она живёт в src/lib/hooks/useGraphicsCapabilities.ts:
export function detectWebGLSupport(): boolean {
if (typeof window === "undefined") return false;
if (probeResult !== null) return probeResult;
let gl: RenderingContext | null = null;
try {
const canvas = document.createElement("canvas");
gl =
canvas.getContext("webgl2") ??
canvas.getContext("webgl") ??
canvas.getContext("experimental-webgl");
} catch {
gl = null;
}
(gl as WebGLRenderingContext | null)
?.getExtension?.("WEBGL_lose_context")
?.loseContext();
probeResult = gl !== null;
return probeResult;
}Пробный контекст освобождается сразу, иначе он занимает один из немногих слотов и настоящему фону может не хватить. Результат кешируется, потому что таких компонентов на странице бывает несколько. Пока проверка не отработала, состояние равно null, а не false, и компонент не рисует ничего: так серверная разметка совпадает с первым клиентским рендером. Туда же стоит добавить prefers-reduced-motion: если человек попросил систему убрать анимацию, анимации быть не должно, что бы ни умела его видеокарта.
Правило простое
У каждого WebGL-компонента должен быть статичный запасной вид: градиент, картинка, просто фон. Показывайте его, пока проверка не прошла, и оставляйте навсегда, если контекста нет. Тогда страница без шейдеров выглядит скромнее, но не сломанной.
Отдельно поймайте событие webglcontextlost: контекст умеет теряться уже на ходу, когда системе не хватает памяти, и без обработчика анимация просто замирает.
Сколько это стоит
Ничего. На главной сайта прямо написано FREE FOREVER, и бесплатная часть не урезана до демо. Лицензия называется MIT + Commons Clause: использовать в своих и клиентских проектах можно, включая коммерческие, нельзя продавать саму библиотеку как товар. Для обычной работы ограничение незаметно.
Платная версия React Bits Pro существует отдельно: там готовые блоки страниц, экраны приложений и шаблоны, разовая оплата. Мы её не покупали, поэтому оценок не даю. Если вы не на React, есть официальные порты на Vue и Svelte.
Следующий шаг
От чата до приложения: 3 способа поставить ИИ на работу
Собираем лендинг от первого запроса до публикации: терминал, готовые компоненты и то, как просить агента ставить их за вас.
Кому советую, а кому нет
Советую, если у вас React или Next.js и задача звучит как «сайт нормальный, но неинтересный». Это самый короткий путь от «нормально» к «запоминается» из тех, что я знаю. Начните с текстовой анимации на заголовке, потом добавьте один фон, и обязательно оберните его проверкой WebGL с запасной картинкой.
Не советую в двух случаях. Если проект живёт на строгом бюджете производительности, где считают каждый килобайт JavaScript, шейдерным фонам там не место. И если вам нужна система дизайна с формами, таблицами и доступностью из коробки: это работа shadcn/ui или Radix, React Bits решает другую задачу и в этом её сила.
Цифры и версии меняются
Количество компонентов, команды CLI и условия Pro приведены на 2 сентября 2026 года. Каталог пополняется еженедельно, поэтому актуальные числа и текст лицензии смотрите на reactbits.dev.
Комментарии