Clean React components. Encapsulated business logic. No state-tree pain.
It is built for apps that want explicit store ownership, SSR support, persistence, lifecycle cleanup and development tooling without forcing everything into one global state tree.
- One way to escape state tree 🌲🌳🌴.
- Ready to use with Suspense.
- Support SSR.
- Support render to stream.
- Relative stores for component-owned state
- Parent stores for subtree reuse
- Global stores for app-wide state
- Small package size.
- Support code splitting out of the box.
- Access stores from other stores.
- Can be a replacement for react context.
- Persistence support
- Vite plugin support
- Best-effort HMR
- And many other nice things 😎
npm i @lomray/react-mobx-manager @lomray/consistent-suspenseSupports MobX 6 (>=6.9.0) and 7 with mobx-react-lite 3, 4, or 5; consumers must choose compatible peers, as mobx-react-lite 5 requires MobX 7 and React 18+ (React 17 remains supported with mobx-react-lite 3 or 4).
Full documentation lives in here
Made with 💚
Published under MIT License.
With shouldInit, StoreManagerProvider renders only the fallback (or nothing) until initialization finishes. Consumers needing immediate content should initialize the manager before rendering and omit shouldInit, as the Vite template does.
makeFetching is available as a named root export. Public subpaths support both extensionless imports and explicit .js paths (use /index.js for directory entries), including native Node ESM consumers.
