diff --git a/src/Field.tsx b/src/Field.tsx index b0d2f923..68822a31 100644 --- a/src/Field.tsx +++ b/src/Field.tsx @@ -323,6 +323,9 @@ class Field extends React.Component e) .then((errors: string[] = []) => { diff --git a/tests/validate.test.js b/tests/validate.test.js index a015c9ed..4de387f6 100644 --- a/tests/validate.test.js +++ b/tests/validate.test.js @@ -1,7 +1,7 @@ /* eslint-disable no-template-curly-in-string */ import React from 'react'; import { mount } from 'enzyme'; -import Form, { Field } from '../src'; +import Form, { Field, useForm } from '../src'; import InfoField, { Input } from './common/InfoField'; import { changeValue, matchError, getField } from './common'; import timeout from './common/timeout'; @@ -578,5 +578,37 @@ describe('Form.Validate', () => { wrapper.update(); matchError(wrapper, false); }); + + it('submit should trigger Field re-render', () => { + const renderProps = jest.fn().mockImplementation(() => null); + + const Demo = () => { + const [form] = useForm(); + + return ( +
+ Promise.reject(new Error('Failed')) }]} + > + {renderProps} + +