Skip to content

Instantly share code, notes, and snippets.

@eyy
Created August 17, 2023 12:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eyy/74f47fcce102e9d1573d067b1cedee80 to your computer and use it in GitHub Desktop.
Save eyy/74f47fcce102e9d1573d067b1cedee80 to your computer and use it in GitHub Desktop.
export function createSetter<T extends Record<string, any>>(setState : Dispatch<SetStateAction<T>>) {
return <K extends keyof T>(key : K, value : SetStateAction<T[K]>) => setState((prev : T) => ({
...prev,
[key]: tryCall(value, prev[key])
}));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment