produce
Edit this pageproduce
is an Immer inspired API for Solid's Store objects that allows for localized mutation.
import { produce } from "solid-js/store"import type { NotWrappable, Store } from "solid-js/store"
function produce<T>( fn: (state: T) => void): ( state: T extends NotWrappable ? T : Store<T>) => T extends NotWrappable ? T : Store<T>;
For use with createStore
:
import { produce } from "solid-js/store";
const [state, setState] = createStore({ user: { name: "John", age: 30, }, list: ["book", "pen"],});
setState( produce((state) => { state.user.name = "Jane"; state.list.push("pencil"); }));