Repolode
statelyai

statelyai/xstate

Библиотека JavaScript/TypeScript без зависимостей для машин состояний, стейтчартов и акторов, помогающая управлять сложной логикой приложений и рабочих процессов.

Open source альтернатива:ReduxZustand

Звёзды
30,412
Форки
1,410
Открытые issues
123
Последний коммит
11 часов назад

Что это?

XState — библиотека для управления состоянием и оркестрации в JavaScript и TypeScript, подходящая как для фронтенда, так и для бэкенда. Она описывает логику приложения с помощью машин состояний, стейтчартов и акторов: переходы, побочные эффекты и допустимые события задаются явно, а не разбросаны по условным конструкциям.

Основной пакет xstate предоставляет определения машин, акторов, которые выполняют логику машин и передают подписчикам снимки состояния, а также поддержку иерархических, параллельных и исторических состояний. Stately Studio — визуальный редактор для проектирования машин и экспорта в XState v5. Дополнительные пакеты добавляют интеграции с React, Vue, Svelte и Solid.

Для более простых задач предназначен отдельный пакет @xstate/store: компактное хранилище на основе событий с реактивными атомами и точным выводом типов в TypeScript. Оно работает как с основной библиотекой, так и без неё.

Ключевые возможности

  • 01Определение машин состояний и стейтчартов с иерархическими, параллельными и историческими состояниями.
  • 02Запуск логики в виде акторов, передающих подписчикам снимки состояния.
  • 03Нет зависимостей во время выполнения.
  • 04Визуальное проектирование и экспорт через Stately Studio.
  • 05Интеграции с React, Vue, Svelte и Solid.
  • 06Отдельный компактный пакет @xstate/store для управления состоянием на основе событий.

Сценарии использования

  • Управление многоэтапными сценариями интерфейса, например формами, пошаговыми мастерами и оформлением заказа.
  • Оркестрация длительных рабочих процессов на бэкенде и фоновых задач.
  • Явное описание и тестирование сложных переходов состояния компонентов.
  • Использование небольшого хранилища на основе событий как альтернативы Redux или Zustand.

Быстрый старт

  1. 1

    Установите пакет xstate с помощью npm

    npm install xstate

В подборках

Темы

Частые вопросы

Что такое xstate?
Библиотека JavaScript/TypeScript без зависимостей для машин состояний, стейтчартов и акторов, помогающая управлять сложной логикой приложений и рабочих процессов. XState — библиотека для управления состоянием и оркестрации в JavaScript и TypeScript, подходящая как для фронтенда, так и для бэкенда. Она описывает логику приложения с помощью машин состояний, стейтчартов и акторов: переходы, побочные эффекты и допустимые события задаются явно, а не разбросаны по условным конструкциям.
xstate можно использовать бесплатно? Какая у него лицензия?
xstate распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
xstate всё ещё поддерживается?
Активно поддерживается. Последний коммит в xstate — 6 нояб. 2026 г..
Для чего можно использовать xstate?
Управление многоэтапными сценариями интерфейса, например формами, пошаговыми мастерами и оформлением заказа. Оркестрация длительных рабочих процессов на бэкенде и фоновых задач. Явное описание и тестирование сложных переходов состояния компонентов. Использование небольшого хранилища на основе событий как альтернативы Redux или Zustand.
Как установить xstate?
Установите пакет xstate с помощью npm: npm install xstate
Где скачать xstate?
Исходный код и инструкции по установке — на GitHub: https://github.com/statelyai/xstate

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Простое и масштабируемое управление состоянием в приложениях на JavaScript и TypeScript с автоматическим отслеживанием зависимостей и оптимальным обновлением интерфейса.

28,2 тыс.1,8 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён 12 часов назад

Инженерный процесс с проверкой доказательств, который через машину состояний на TypeScript, CLI и MCP-сервер последовательно проводит через пять фаз SPARC: Specification, Pseudocode, Architecture, Refinement и Completion.

47991TypeScriptApache-2.0Обновлён 7 дней назад

Библиотека Python для создания приложений с принятием решений — например, чат-ботов и агентов — в виде конечных автоматов с встроенным UI для трассировки и мониторинга.

2,6 тыс.+10 за неделю218PythonApache-2.0Активно поддерживаетсяОбновлён 22 часа назад