@zedux/machines v1.3.4
@zedux/machines
A simple, TypeScript-first state machine implementation for Zedux. This is an addon package, meaning it doesn't have any own dependencies or re-export any APIs from other packages. It uses peer dependencies instead, expecting you to download the needed packages yourself.
See the documentation for this package.
Installation
This package has a peer dependency on the @zedux/atoms package. Ensure that @zedux/atoms is installed at the same version as this package:
npm install @zedux/atoms @zedux/machines # npm
yarn add @zedux/atoms @zedux/machines # yarn
pnpm add @zedux/atoms @zedux/machines # pnpmThe @zedux/react package already includes @zedux/atoms. To use @zedux/machines in React apps, install it alongside @zedux/react instead:
npm install @zedux/react @zedux/machines # npm
yarn add @zedux/react @zedux/machines # yarn
pnpm add @zedux/react @zedux/machines # pnpmUsage
See the Zedux docs for full usage details.
Simple example:
import { injectMachineStore } from '@zedux/machines'
import { api, atom } from '@zedux/react'
const fetcherAtom = atom('fetcher', () => {
const store = injectMachineStore(state => [
// the first state is the initial state ('idle' here):
state('idle').on('request', 'fetching'),
state('fetching')
.on('fetchSuccessful', 'success')
.on('fetchFailed', 'error'),
state('success').on('invalidate', 'fetching'),
state('error').on('retry', 'fetching'),
])
return store
})Exports
This package exports the following APIs along with several TypeScript types for working with them:
Classes
Injectors
Contributing, License, Etc
See the top-level README for all the technical stuff.
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago