title: antd onChange is firing three times with each key stroke
body: <p>I have the following form in <code>antd</code> with code taken almost verbatim from <a href="https://ant.design/components/form/" rel="nofollow noreferrer">the official website</a>. Code sandbox is also <a href="https://codesandbox.io/s/frosty-darwin-xjy71" rel="nofollow noreferrer">here</a>:</p>
  <p>The problem with the below code is that on every key stroke in the field, the onChange method fires three (3) times. You can verify that in the codesandbox link as well if you open the browser console. I would like to understand why is that and what can be done about it.</p>
  <pre><code>import React from 'react';
  import { Form, Input } from 'antd';
  
  import {FieldData} from 'rc-field-form/es/interface.d.ts';
  interface CustomizedFormProps {
    onChange: (fields: FieldData[]) =&gt; void;
    fields: FieldData[];
  }
  
  
  const CustomizedForm: React.FC&lt;CustomizedFormProps&gt; = ({ onChange, fields }) =&gt; {
    return (
      &lt;Form
        name=&quot;global_state&quot;
        layout=&quot;inline&quot;
        fields={fields}
        onFieldsChange={(changedFields, allFields) =&gt; {
          onChange(allFields);
        }}
      &gt;
        &lt;Form.Item
          name=&quot;username&quot;
          label=&quot;Username&quot;
          rules={[{ required: true, message: 'Username is required!' }]}
        &gt;
          &lt;Input /&gt;
        &lt;/Form.Item&gt;
      &lt;/Form&gt;
    );
  };
  
  export class AntdFormTest extends React.Component&lt;{}, {fields: FieldData[]}&gt; {
    
    constructor(props: {}) {
      super(props);
      this.state = {fields: [{name: ['username'], value: 'Ant Design'}]};
    }
  
    render() {
      return (
        &lt;&gt;
          &lt;CustomizedForm
            fields={this.state.fields}
            onChange={newFields =&gt; {
              console.log('onChange fired');
              this.setState({fields: newFields});
            }}
          /&gt;
          &lt;pre className=&quot;language-bash&quot;&gt;{JSON.stringify(this.state, null, 2)}&lt;/pre&gt;
        &lt;/&gt;
      );
    }
  };
  </code></pre>