Медленно реагирующие формы

Есть ли у вас опыт работы с формой быстрого реагирования? Я пробовал redux-form, antd form. Оба медленные. Когда я пишу внутри полей ввода.

Форма того, что я хочу сделать, довольно сложна. Это динамическая форма с множеством полей. См. Прикрепленное изображение, этот тип - это выберите, где выбранное значение будет отображаться в следующих полях.

Вот пример в antd. https://codesandbox.io/s/yjz6r2z2l9

Медленно реагирующие формы

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
2 032
1

Ответы 1

Ваша форма работает медленно из-за повторной отрисовки всего содержимого формы при каждом изменении состояния, даже при однократном нажатии клавиши. React нуждается в некоторой оптимизации, чтобы этого избежать - например, Использование shouldComponentUpdate и PureComponent.

Попробуйте Formik. Помимо <Field/> в нем есть <FieldArray/> и <FastField/>, вероятно, пригодные для этого случая.

Удалите console.info, используйте инструменты разработки реакции.

Мне не удалось выполнить shouldComponentUpdate. Но я справился с этим, разделив форму на несколько форм. Затем он отображает только эту "подформу"

Dawe 31.10.2018 14:45

Другие вопросы по теме