React jsx - значения полей ввода удаляются при нажатии кнопки, которая добавляет новые поля ввода - PullRequest
0 голосов
/ 04 мая 2020

Я использую реагирующие крючки. Компонент начинается с одного поля ввода. Я пытаюсь динамически добавлять входы при нажатии на кнопку «Добавить». Нажатие кнопки «Добавить» приведет к тому, что в компоненте будет 2 поля ввода. Нажатие во второй раз приведет к трем полям ввода ... и т. Д.

Я достиг этого. Однако, если я нажму кнопку после того, как наберу некоторые значения в предыдущих полях ввода, значения go исчезнут, и поля ввода снова станут пустыми. Как сохранить то, что я набрал в предыдущих полях ввода, даже после нажатия кнопки «Добавить»?

Все входы хранятся в массиве с именем «inputArray», а затем массив ввода обрабатывается.

Примечание: под одним полем ввода я подразумеваю один контейнер, который включает несколько полей ввода. Вы нажимаете добавить, вы добавляете второй контейнер и так далее. Пожалуйста, проверьте СКРИНШОТЫ, если вы не уверены

  useEffect(()=>{
    setInputArray(inputArray => [...inputArray, additionalIngredient(index)]);
  }, []);

ВНУТРИ «ВОЗВРАТА»

          {
            inputArray.map((e,i)=>{
              return <div ref={register} className={s1} key={i+(Math.random()*18)}>{e}</div>
            })
          }

СКРИНШОТЫ:

  1. Начало enter image description here

  2. После нажатия кнопки «Добавить» (красная кнопка) новый контейнер полей ввода enter image description here

  3. Связывающие значения ... enter image description here

  4. Сразу после повторного нажатия кнопки добавления все входы очищаются enter image description here

...