mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-08-20 21:41:43 +10:00
17 lines
386 B
TypeScript
17 lines
386 B
TypeScript
import { isEqual } from "es-toolkit";
|
|
import { useEffect } from "react";
|
|
|
|
type ResettableForm<TValues> = {
|
|
reset: (values: TValues) => void;
|
|
state: {
|
|
values: TValues;
|
|
};
|
|
};
|
|
|
|
export function useSyncFormValues<TValues>(form: ResettableForm<TValues>, values: TValues) {
|
|
useEffect(() => {
|
|
if (isEqual(form.state.values, values)) return;
|
|
form.reset(values);
|
|
}, [form, values]);
|
|
}
|