Самая большая проблема, с которой я столкнулся при написании компонента React, связана с формой, которая на самом деле имеет вложенную и сложную схему JSON.

Мне было интересно, есть ли способ, с помощью которого мы можем достичь двусторонней привязки данных React State непосредственно с входом, который получает рендеринг с формой. Не волнуйтесь !! этот подход может спасти вашу задницу.

Подход

С помощью методов Lodash, SET и GET мы можем установить значение на любом уровне вложенного JSON.

_.set(object, 'a.b[0].c', 4);
_.get(object, 'a.b[0].c');

Идея состоит в том, чтобы иметь единый onChange метод для всех ваших элементов формы, таких как поля ввода, текстовая область и т. Д.

Код

  1. Импорт, всего 2

2. Состояние с вложенным и сложным JSON

3. Метод OnChange с 5 строками

в свойстве name мы можем указать путь к json, чтобы позже мы могли получить значение и установить это значение на желаемый путь.

4. Метод рендеринга настолько прост, насколько это возможно

идея установить путь к атрибуту имени ввода и получить значение из этого пути, которое будет отображаться как значение ввода.

5. Все вместе

Такой подход избавил меня от множества проблем, связанных с двусторонней привязкой вложенного и сложного JSON.

Этот подход может показаться немного странным для приведенного выше примера, но когда у вас есть много полей ввода, с которыми нужно иметь дело, и если эти значения являются частью другой иерархии, этот подход может спасти положение.

СЧАСТЛИВОЕ КОДИРОВАНИЕ