Jotai atom patterns
Recipes for derived atoms, write-only atoms, and atom families in Meridian.
Derived atom
import { atom } from 'jotai'
export const countAtom = atom(0)
export const doubleAtom = atom((get) => get(countAtom) * 2)Recomputes whenever countAtom changes.
Write-only atom
import { atom } from 'jotai'
export const logAtom = atom(null, (_get, set, msg: string) => {
console.log(msg)
set(countAtom, 0)
})No readable value — fires side effects on write.
Atom family
import { atomFamily } from 'jotai/utils'
export const userAtom = atomFamily((id: string) =>
atom({ name: '', loaded: false })
)Parametric atoms — one instance per id.
Async derived
import { atom } from 'jotai'
export const dataAtom = atom(async () => {
const res = await fetch('/api/data')
return res.json()
})Use with Suspense or Jotai's loadable.