отреагировать, проверить форму с помощью reduxForm - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть внешний компонент, управляющий моим полем ввода, и выдает ошибку, если ввод не сделан. При отправке формы ранее с class component вместе с reduxForm эффектом это привело бы к ошибке пропущенного ввода, мне интересно, как этого добиться с помощью хуков, поскольку отправка проходит независимо от того, есть ли у меня ввод или нет.

import ConstructField from '../components.render';

const ActivitiesForm = () => {

  const handleSubmit_ = () => {
    console.log({ activityName });
  };

  const [activityName, setActivityName] = useState(null);
  const handleInputName = (e) => setActivityName(e.target.value);

  const { items } = useSelector((state) => ({
    items: state.items,
  }));

  const { register, handleSubmit, errors, control } = useForm();

  return (
    <div>

      <Form onSubmit={handleSubmit(handleSubmit_)} className='ui form'>
        <Form.Group widths='equal'>
          <Field
            component={ConstructField('input')}
            onChange={handleInputName}
            label='Activity Name'
            name='activityName'
            placeholder='Activity Name'
            validate={required}
          />

        </Form.Group>



        <br />

        <Form.Group inline>
          <Button.Group>
            <Button primary>Save</Button>
            <Button.Or />
            <Button positive onClick={goBackButton}>
              Go Back
            </Button>
          </Button.Group>
        </Form.Group>
      </Form>
    </div>
  );
};

const required = (value) => (value ? undefined : 'this field is required');

const activityform = reduxForm({
  form: 'activityform',
  enableReinitialize: true,
})(ActivitiesForm);

export default activityform;
...