@campus1

Что вы используете для форм?

Всем привет. При начинании любого проекта, я всегда задумываюсь про то, как обрабатывать формы. Сначала написал свой onChange и компонент Input
export const onChange = (e, val = "value") => dispatch => {
  let type = e.target.name; //actionType of reducer
  let property = e.target.id; // reducer's property
  let value = e.target[val]; // input value
  let { errors } = validate[type]({ [property]: value }); // error object for all related inputs

  dispatch([
    {
      type: type,
      payload: { [property]: value, isDataChange: true }
    },
    {
      type: `${type}_ERROR`,
      payload: {
        errors: { [property]: get(errors, property) }
      }
    }
  ]);
};


Но при быстром вводе данных, это нереально лагает.

Вопросы:
  1. Как вы обрабатываете формы?
  2. Как делаете валидацию (создаете ли отдельный файл конфига)?


И если можно, то приводите примеры пожалуйста
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
rockon404
@rockon404 Куратор тега React
Frontend Developer
В подавляющем большинстве случаев, нет абсолютно никакого смысла хранить состояние форм в store.

Ответы:
1. Использую либо контролируемые компоненты, либо refs. Состояние форм, в случае с контролируемыми компонентами, хранится в state родительского компонента.
2. Все зависит от проекта и требований. Где-то достаточно пары проверок в onSubmit, а где-то форма может генерироваться по данным, полученным с сервера и валидироваться по полученным правилам.
Ответ написан
@frozen_coder
Java-developer
Посмотрите на final-form для React:
https://github.com/final-form/react-final-form
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы