Files
yaak/src-web/hooks/useStateSyncDefault.ts
2024-03-16 10:42:46 -07:00

13 lines
354 B
TypeScript

import { useEffect, useState } from 'react';
/**
* Like useState, except it will update the value when the default value changes
*/
export function useStateSyncDefault<T>(defaultValue: T) {
const [value, setValue] = useState(defaultValue);
useEffect(() => {
setValue(defaultValue);
}, [defaultValue]);
return [value, setValue] as const;
}