@vnmfify/core
Version:
```shell npm i @vnmfify/core -S ```
27 lines (24 loc) • 925 B
JavaScript
import { useCallback, useContext, useEffect, useRef } from "react";
import FormContext from "./form.context";
import useForm from "./use-form";
function useFormFieldValueEffect(effect, deps) {
var {
name: formName
} = useContext(FormContext);
var form = useForm(formName);
var mountedRef = useRef(false);
var onReset = useCallback(() => mountedRef.current = false, []);
useEffect(() => {
form === null || form === void 0 ? void 0 : form.addEventListener("reset", onReset);
return () => form === null || form === void 0 ? void 0 : form.removeEventListener("reset", onReset);
}, [form, onReset]);
useEffect(() => {
if (mountedRef.current) {
effect === null || effect === void 0 ? void 0 : effect();
} else {
mountedRef.current = true;
}
}, deps);
}
export default useFormFieldValueEffect;
//# sourceMappingURL=use-form-field-value-effect.js.map