react-zero-state
v1.0.3
Published
A simple state management library for React using signals
Maintainers
Readme
⚛️ react-zero-state
Uma biblioteca leve de gerenciamento de estado para React usando sinais (signals), com foco em simplicidade e reatividade.
🚀 Instalação
npm install react-zero-state
🧠 Como funciona
react-zero-state permite criar e compartilhar estados reativos fora dos componentes React — como um useState global, mas sem boilerplate ou Redux.
🛠 Exemplo básico
import { createSignal, useSignal } from 'react-zero-state';
const countSignal = createSignal(0);
function Counter() {
const [count, setCount] = useSignal(countSignal);
return (
<div>
<p>Contagem: {count}</p>
<button onClick={() => setCount(c => c + 1)}>Incrementar</button>
</div>
);
}
📄 Exemplos de uso
✅ Paginação
const pageSignal = createSignal(1);
function Pagination() {
const [page, setPage] = useSignal(pageSignal);
return (
<>
<p>Página atual: {page}</p>
<button onClick={() => setPage(p => Math.max(1, p - 1))}>Anterior</button>
<button onClick={() => setPage(p => p + 1)}>Próxima</button>
</>
);
}
✅ Modal simples
const modalOpenSignal = createSignal(false);
function Modal() {
const [isOpen, setIsOpen] = useSignal(modalOpenSignal);
return isOpen ? (
<div className="modal-backdrop">
<div className="modal-content">
<h3>Modal aberto</h3>
<button onClick={() => setIsOpen(false)}>Fechar</button>
</div>
</div>
) : (
<button onClick={() => setIsOpen(true)}>Abrir Modal</button>
);
}
🔧 API
createSignal<T>(initialValue: T)
Cria um sinal reativo.
Retorna:
get(): T – Retorna o valor atual
set(value: T | (prev: T) => T): void – Atualiza o valor
subscribe(listener: () => void): () => void – Escuta mudanças no valor
useSignal(signal)
Hook React para conectar o sinal ao componente.
const [value, setValue] = useSignal(signal);
📦 Quando usar?
* Substituir estados globais simples (sem Redux, Zustand ou Context API)
* Evitar prop-drilling
* Compartilhar estado entre vários componentes de forma reativa
📝 Licença
MIT © Wemerson Lucas da Silva Pereira
---