Three months ago I wrote an utility function to deal with write-only atoms in Jotai. To go with it, today I wrote a function to deal with read-only atoms, so now I have:
import {Atom, useAtom, WritableAtom} from 'jotai';
/**
* Syntactic sugar to useAtom() for read-only atoms.
*/
export function useReadAtom<V>(a: Atom<V>) {
const [val] = useAtom(a);
return val;
}
/**
* Syntactic sugar to useAtom() for write-only atoms.
*/
export function useWriteAtom<V, A extends unknown[], R>(a: WritableAtom<V, A, R>) {
const [_, setFunc] = useAtom(a);
return setFunc;
}
It’s worth mentioning that useReadAtom also works for derived atoms, used for computed values.
No comments:
Post a Comment