--- title: Resettable description: How to use resettable atoms nav: 8.99 published: false --- The Jotai core doesn't support resettable atoms. But you can create those with helper functions from `jotai/utils`. ### Primitive resettable atom with atomWithReset / useResetAtom ```jsx import { useAtom } from 'jotai' import { atomWithReset, useResetAtom } from 'jotai/utils' const todoListAtom = atomWithReset([ { description: 'Add a todo', checked: false }, ]) const TodoList = () => { const [todoList, setTodoList] = useAtom(todoListAtom) const resetTodoList = useResetAtom(todoListAtom) return ( <> ) } ``` ### Examples ### Derived atom with RESET symbol ```jsx import { atom, useAtom, useSetAtom } from 'jotai' import { atomWithReset, useResetAtom, RESET } from 'jotai/utils' const dollarsAtom = atomWithReset(0) const centsAtom = atom( (get) => get(dollarsAtom) * 100, (get, set, newValue: number | typeof RESET) => set(dollarsAtom, newValue === RESET ? newValue : newValue / 100) ) const ResetExample = () => { const [dollars] = useAtom(dollarsAtom) const setCents = useSetAtom(centsAtom) const resetCents = useResetAtom(centsAtom) return ( <>

Current balance ${dollars}

) } ``` ### Examples