Розробка React-сайтів на Chakra UI: доступні компоненти та темна тема

Розробка React-сайтів на Chakra UI: доступні компоненти та темна тема

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка React-сайтів на Chakra UI: доступні компоненти та темна тема
Простий
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Розробка React-сайтів на Chakra UI: доступні компоненти та темна тема

Ви інтегруєте сторонню дизайн-систему в React-застосунок, а на виході отримуєте різнорідні HTML/CSS-класи, проблему з темною темою та недоступні інтерактивні елементи. Ми стикалися з цим на десятках проєктів, тому для клієнтів з фокусом на доступність та швидку верстку пропонуємо Chakra UI. За 5+ років у веб-розробці та 50+ проєктах на React ми виробили підхід, при якому верстка посадкової сторінки займає 1-2 дні, а не тиждень. Економія бюджету на верстці досягає 30% за рахунок готових компонентів — це підтверджується відгуками клієнтів.

Chakra UI — не чергова UI-бібліотека, а система, де кожен компонент з коробки відповідає WCAG 2.1. Style props API дозволяє керувати CSS прямо в JSX, відмовляючись від зайвих файлів. Вбудована темна тема будується на семантичних токенах, які автоматично перемикають кольори без перезбирання. Наприклад, в одному проєкті ми замінили 500 рядків CSS-змінних на 20 рядків токенів — темна тема запрацювала без жодного багу.

Як Chakra UI вирішує проблему темної теми?

До появи Chakra UI розробники зберігали колірні змінні в CSS і вручну змінювали їх через [data-theme="dark"]. У Chakra v3 темна тема — це вбудована фіча: в описі токена через _dark задається колір для темного режиму. Провайдер автоматично підхоплює атрибут data-theme на <html> і застосовує правильну палітру. Приклад налаштування:

import { createSystem, defaultConfig, defineConfig } from '@chakra-ui/react'; const customConfig = defineConfig({ theme: { tokens: { colors: { brand: { 500: { value: '#3b82f6' } }, }, }, semanticTokens: { colors: { 'bg.canvas': { value: { base: '#f9fafb', _dark: '#0f172a' } }, }, }, }, }); const system = createSystem(defaultConfig, customConfig); export default system; 

Тепер компонент Box bg="bg.canvas" сам адаптується до теми. Жодних медіа-фіч, жодних перемикань класів. Вартість підтримки такої теми знижується в 2-3 рази порівняно з кастомними рішеннями.

Чому Chakra UI швидше за Material-UI для MVP?

Параметр Chakra UI (v3) Material-UI (MUI)
Style props Так, вбудовані Через sx-prop, але більше boilerplate
Темна тема Токени + _dark, 5 хвилин Теми через ThemeProvider, ~15 хвилин
Accessibility WCAG AA з коробки Частково, потребує доопрацювань
Розмір бандла ~25 kB gzip ~40 kB gzip
Адаптивність Об'єкти в props: w={{ base: 'full', md: '50%' }} Через useMediaQuery або breakpoints у sx

Chakra UI виграє за швидкістю прототипування: в 2-3 рази менше коду для адаптивної grid-сітки та форм. Додаткова економія — вбудована система токенів, яка виключає дублювання стилів.

Порівняння Chakra UI v2 та v3

Особливість Chakra UI v2 Chakra UI v3
Провайдер ChakraProvider + ColorModeScript Єдиний ChakraProvider з конфігом
Токени CSS-змінні + useColorMode Семантичні токени з _dark
Style props Через chakra factory Вбудовані в усі компоненти
Розмір ~30 kB gzip ~25 kB gzip

Міграція з v2 на v3 потребує правки провайдера та заміни useColorMode на _dark токени, але окупається за рахунок спрощеної архітектури.

Як налаштувати тему Chakra UI за 3 кроки?

  1. Встановіть пакет: npm install @chakra-ui/react @emotion/react.
  2. Створіть конфігурацію в окремому файлі (як у прикладі вище), визначте базові токени та семантичні токени для темної теми.
  3. Підключіть провайдер в корені застосунку:
import { ChakraProvider } from '@chakra-ui/react'; import system from './theme/system'; function Root() { return ( <ChakraProvider value={system}> <App /> </ChakraProvider> ); } 

Після цього в усіх компонентах доступні style props та автоматична підтримка темної теми.

Верстка hero-секції з style props

Style props — основа прискорення: адаптивний padding задається об'єктом py={{ base: '12', md: '20', lg: '28' }}. Вся секція пишеться в одному JSX-блоці:

import { Box, Flex, Heading, Text, Button, Stack } from '@chakra-ui/react'; const Hero = () => ( <Box as="section" bg="bg.canvas" py={{ base: '12', md: '20' }}> <Flex maxW="7xl" mx="auto" direction={{ base: 'column', lg: 'row' }}> <Box flex="1"> <Heading as="h1" size={{ base: '2xl', lg: '4xl' }} color="text.primary"> Заголовок продукту </Heading> <Text fontSize={{ base: 'md', lg: 'lg' }} color="text.muted" mb="8"> Опис цінності </Text> <Button colorPalette="brand" size="lg">Почати безкоштовно</Button> </Box> </Flex> </Box> ); 

Сітка карток та форма з валідацією

Для карток використовуємо SimpleGrid, який автоматично змінює колонки залежно від breakpoint. Форма — стандартний Field + Input, валідація через React Hook Form та Zod:

import { Field, Input, Button, Stack } from '@chakra-ui/react'; import { useForm } from 'react-hook-form'; import { z } from 'zod'; const schema = z.object({ name: z.string().min(2) }); const Form = () => { const { register, handleSubmit, formState: { errors } } = useForm({ resolver: zodResolver(schema) }); return ( <Stack gap="5"> <Field.Root invalid={!!errors.name}> <Field.Label>Ім'я</Field.Label> <Input {...register('name')} /> {errors.name && <Field.ErrorText>{errors.name.message}</Field.ErrorText>} </Field.Root> <Button type="submit">Відправити</Button> </Stack> ); }; 

Колірний режим через семантичні токени

У Chakra v3 не потрібно змінювати CSS — достатньо хука useColorMode. Приклад кнопки для перемикання описано вище. Для економії місця та зниження надмірності коду ми часто виносимо логіку перемикання в окремий хук. Гарантуємо, що кожен компонент пройде тестування на Core Web Vitals: оптимізація бандла, lazy-loading іконок, виключення N+1 запитів.

Поширені помилки при верстці на Chakra UI
  • Використання !important — перевизначення токенів через css prop ламає систему.
  • Відсутність _dark в семантичних токенах — темна тема не відображається.
  • Некоректний breakpoint base — без нього адаптивність ламається на мобільних.
  • Ігнорування as prop — семантична верстка порушується.
  • Пряме маніпулювання DOM замість використання state — компоненти Chakra UI реактивні.

Що входить в роботу з верстки на Chakra UI?

Ми надаємо не лише готовий код, але й документацію по токенах, компонентах та кольоровій схемі. До складу deliverables входять:

  • Налаштована тема Chakra UI з семантичними кольорами та шрифтами
  • Всі сторінки проєкту, адаптовані під мобільні та десктопні Breakpoints
  • Форми з валідацією (React Hook Form + Zod)
  • Документація по стилях (Storybook або Markdown)
  • Доступ до репозиторію з історією комітів
  • Навчання команди (1-2 години) по style props та налаштуванню теми

Зв'яжіться з нами — ми запропонуємо рішення під ключ з Chakra UI. Економія бюджету на верстці досягає 30% за рахунок готових компонентів та відсутності кастомних CSS-класів.

Терміни та вартість

Орієнтовні терміни:

  • Налаштування системи та теми — 3-4 години
  • Посадкова сторінка — 1-2 дні
  • Продуктовий сайт (5+ розділів, форма, дашборд) — 4-7 днів

Підсумкова вартість розраховується індивідуально. Замовте консультацію, щоб отримати точну оцінку. У кожного клієнта — єдиний менеджер та повний технічний контроль (сертифіковані спеціалісти, 5+ років досвіду з React).

У вас проєкт на React і потрібна верстка з темною темою та доступністю? Замовте рішення під ключ з Chakra UI на нашому сайті.