This package includes the core composable store model of Zedux. It exports several utilities and TypeScript types for working with Zedux stores.
This package is framework-independent.
If you're new to Zedux, you're probably looking for the quick start.
npm install @zedux/core # npm
yarn add @zedux/core # yarn
pnpm add @zedux/core # pnpm
If you're using React, you probably want to install the @zedux/react
package instead, which includes everything from this package, everything from the @zedux/atoms
package, and more.
See the top-level README for a general overview of Zedux.
See the Zedux documentation for comprehensive usage details.
Basic example:
import { createStore } from '@zedux/core'
// a zero-config store:
const store = createStore(null, 'Hello, World!')
const subscription = store.subscribe((newState, oldState) => {
console.log('store went from', oldState, 'to', newState)
})
store.getState() // 'Hello, World!'
store.setState('Goodbye, World!')
This package exports the following APIs, along with many TypeScript types for working with them:
If your lib only use APIs in this package, it's recommended to only import this package, not @zedux/atoms
or @zedux/react
. This package is small enough that you may consider bundling it in with your code, but that shouldn't be necessary. It's usually recommended to use a peer dependency + dev dependency on this package.
See the top-level README for all the technical stuff.