on master help sign in
fix: only call `onValues` when validation is not paused
95edabbMatt Condon (shrugs)
src/form/BridgeForm.js+1−1
@@ -39,7 +39,7 @@ export default function BridgeForm({
39 <>
39 <>
40 <ValidationPauser />
40 <ValidationPauser />
41 {children(formProps)}
41 {children(formProps)}
42− {onValues && <ValuesHandler onValues={onValues} />}
42+ {onValues && <ValuesHandler {...formProps} onValues={onValues} />}
43 </>
43 </>
44 )}
44 )}
45 </Form>
45 </Form>
src/form/ValuesHandler.js+3−10
@@ -1,21 +1,14 @@
1import { useEffect } from 'react';
1import { useEffect } from 'react';
2−import { useFormState, useForm } from 'react-final-form';
2+import { useForm } from 'react-final-form';
3
3
4/**
4/**
5 * ValuesHandler notifies callback function when form values change.
5 * ValuesHandler notifies callback function when form values change.
6 */
6 */
7−export default function ValuesHandler({ onValues }) {
7+export default function ValuesHandler({ valid, validating, values, onValues }) {
8 const form = useForm();
8 const form = useForm();
9− const { valid, validating, values } = useFormState({
10− subscription: {
11− valid: true,
12− validating: true,
13− values: true,
14− },
15− });
16
9
17 useEffect(() => {
10 useEffect(() => {
18− if (!validating) {
11+ if (!validating && !form.isValidationPaused()) {
19 onValues && onValues({ valid, values, form });
12 onValues && onValues({ valid, values, form });
20 }
13 }
21 }, [form, onValues, valid, validating, values]);
14 }, [form, onValues, valid, validating, values]);