Skip to content

idootop/ZenBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

67 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ZenBox

React state management that feels like Vue vibes in React
Bringing Zustand's simplicity and Vue's joyful developer experience to React

δΈ­ζ–‡ζ–‡ζ‘£ NPM Version Minizipped Size License Built with ZenBox

What if React felt as natural as Vue?

You know that feeling when you write Vue code? Everything just clicks. computed values update automatically, watch lets you react to changes elegantly, and ref.value gives you a consistent way to access everything.

Then you switch to React and... where did all that magic go?

Vue vibes in React

ZenBox = Code in React like Vue πŸ’š + Manage state like Zustand 🐻

  • πŸ’ͺ Powerful - All of Zustand's benefits + more
  • ⚑️ Easy to Use - Where Vue's simplicity meets React's power
  • πŸ“¦ Lightweight - 100 lines of core code, no bloat, just the good stuff
// Types are automatically inferred from initial state
const userStore = createStore({
  name: "Del Wang",
  posts: ["Hello World!"],
});

// Computed values that just work
const greeting = useComputed(() => `Hey ${userStore.value.name}!`);

// Watch changes like Vue
useWatch(
  () => userStore.value.posts.length,
  (count) => console.log(`${count} posts now`)
);

If you squint, this could be Vue code. But it's React, and it works exactly like you'd expect.

This is ZenBox - where Zustand's simplicity meets Vue's joyful developer experience.

Getting started

πŸ‘‰ Visit https://zenbox.del.wang to view the full documentation.

npm install zenbox

Community & Support

ZenBox vs Zustand

Feature ZenBox Zustand
Learning Curve βœ… As easy as Vue βœ… Low
Vue-like Hooks βœ… useComputed / useWatch ❌ Not supported
TypeScript βœ… Auto-inference ⚠️ Manual interfaces
Cross-Store βœ… Auto tracking ❌ Not supported
State Access βœ… Unified store.value ⚠️ Explicit get() / set()
Scoping βœ… Built-in Provider ❌ Global by default
Immer βœ… Built-in ⚠️ Middleware required
Bundle Size < 3KB gzipped (without Immer) < 1KB gzipped

License

MIT License Β© 2025-PRESENT Del Wang

About

πŸ“¦ React state management that feels like Vue vibes in React

Resources

License

Stars

Watchers

Forks

Languages