Repolode
statelyai

statelyai/xstate

Biblioteca JavaScript/TypeScript sem dependências para máquinas de estado, statecharts e actors, que ajuda a gerenciar a lógica complexa de apps e workflows.

Alternativa open source a:ReduxZustand

Estrelas
30,422
Forks
1,413
Issues abertas
123
Último commit
há 8 horas

O que é?

XState é uma biblioteca de gerenciamento de estado e orquestração para JavaScript e TypeScript, que pode ser usada tanto no frontend quanto no backend. Ela representa a lógica da aplicação como máquinas de estado, statecharts e actors, declarando explicitamente as transições, os efeitos colaterais e os eventos permitidos, em vez de espalhá-los por condicionais.

O pacote principal, xstate, oferece definições de máquinas, actors que executam a lógica das máquinas e disponibilizam snapshots para quem se inscreve, além de suporte a estados hierárquicos, paralelos e de histórico. O Stately Studio, um editor visual, pode ser usado para criar máquinas e exportá-las para o XState v5. Pacotes complementares adicionam integrações com React, Vue, Svelte e Solid.

Para casos mais simples, o pacote separado @xstate/store oferece uma store pequena baseada em eventos, com atoms reativos e inferência robusta de tipos do TypeScript, e funciona com ou sem a biblioteca principal.

Recursos principais

  • 01Defina máquinas de estado e statecharts com estados hierárquicos, paralelos e de histórico.
  • 02Execute lógica como actors que disponibilizam snapshots de estado para quem se inscreve.
  • 03Sem dependências em tempo de execução.
  • 04Crie visualmente e exporte usando o Stately Studio.
  • 05Integrações com React, Vue, Svelte e Solid.
  • 06Pacote separado e leve, @xstate/store, para gerenciamento de estado baseado em eventos.

Casos de uso

  • Gerenciar fluxos de UI com várias etapas, como formulários, assistentes ou processos de checkout.
  • Orquestrar workflows de backend de longa duração e tarefas em segundo plano.
  • Deixar explícitas e testáveis as transições complexas de estado dos componentes.
  • Usar uma store pequena e orientada a eventos como alternativa ao Redux ou ao Zustand.

Início rápido

  1. 1

    Instale o pacote xstate com npm

    npm install xstate

Em coleções

Tópicos

Perguntas frequentes

O que é xstate?
Biblioteca JavaScript/TypeScript sem dependências para máquinas de estado, statecharts e actors, que ajuda a gerenciar a lógica complexa de apps e workflows. XState é uma biblioteca de gerenciamento de estado e orquestração para JavaScript e TypeScript, que pode ser usada tanto no frontend quanto no backend. Ela representa a lógica da aplicação como máquinas de estado, statecharts e actors, declarando explicitamente as transições, os efeitos colaterais e os eventos permitidos, em vez de espalhá-los por condicionais.
xstate é gratuito? Qual é a licença?
xstate é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
xstate ainda é mantido?
Manutenção ativa. O último commit de xstate foi em 7 de nov. de 2026.
Para que posso usar xstate?
Gerenciar fluxos de UI com várias etapas, como formulários, assistentes ou processos de checkout. Orquestrar workflows de backend de longa duração e tarefas em segundo plano. Deixar explícitas e testáveis as transições complexas de estado dos componentes. Usar uma store pequena e orientada a eventos como alternativa ao Redux ou ao Zustand.
Como instalar xstate?
Instale o pacote xstate com npm: npm install xstate
Onde consigo xstate?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/statelyai/xstate

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados