← Ко всем open source проектам

Storybook

storybookjs/storybook

Storybook — среда для разработки, документации и тестирования UI-компонентов и страниц в изоляции от основного приложения.

Форки 10,116
Автор storybookjs
Язык TypeScript
Лицензия MIT
Обновлено 2026-06-09

Что это такое

Storybook — среда для разработки UI-компонентов в изоляции. Вместо поиска нужного состояния внутри большого приложения разработчик открывает story: кнопку, форму, карточку, модальное окно или страницу с заранее заданными props.

Проект стал стандартным инструментом для дизайн-систем и компонентных библиотек, потому что связывает разработку, документацию и тестирование. Компонент можно показать дизайнеру, QA и другой команде без поднятия всего продукта.

Что внутри и как используют

Внутри — core, renderers для React, Vue, Angular, Svelte и других стеков, addons, документация, тесты и примеры. Storybook расширяется через addons для accessibility, actions, controls, docs и testing.

Story для компонента

Пример показывает, как компонент получает видимое состояние в Storybook без запуска всего приложения.

Язык: React TSX
import type { Meta, StoryObj } from '@storybook/react'
import { Button } from './Button'

const meta = { component: Button } satisfies Meta<typeof Button>
export default meta

export const Primary = {
  args: { children: 'Save changes', variant: 'primary' },
}

Типовой сценарий — описать story для каждого важного состояния компонента: обычное, пустое, загружается, ошибка, disabled, длинный текст. После этого UI становится видимым каталогом.

Сильные стороны и ограничения

Сильная сторона — изоляция и общая точка обсуждения интерфейса. Storybook помогает команде видеть, какие компоненты уже есть, как они выглядят и какие состояния поддерживают.

Ограничение — отдельная среда требует ухода. Если stories не обновлять вместе с продуктом, они быстро превращаются в музей старого интерфейса.