DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Alex Blinov
Alex Blinov

Posted on • Originally published at jetrockets.pro

Reset values in React Final Form

How to reset values in React Final Form after submitting

At first I wrote the following code:

<Form
  onSubmit={onSubmit}
  render={({ handleSubmit, form }) => (
    <form
      onSubmit={event => {
        handleSubmit(event).then(() => {
          form.reset();
        })
      }}
    >
    ...
    </form>
  }/>

If we implement a function like this, we will get an error "Uncaught TypeError: Cannot read property 'then' of undefined”, when we try to submit invalid form.
Invalid forms β€” form with validation errors.

The solution

To avoid this error, we need to place handleSubmit(event) to a variable, and if the variable is not undefined call .then().

onSubmit={(event) => {
  const promise = handleSubmit(event);
  promise && promise.then(() => {
    form.reset();
  })
  return promise;
}}

Top comments (0)

An Animated Guide to Node.js Event Loop

>> Check out this classic DEV post <<