Где я могу временно сохранить загруженные файлы в многошаговой форме React? - PullRequest
0 голосов
/ 28 июня 2019

Итак, у меня есть многошаговая форма, которая динамически создается в зависимости от ответов пользователя. Созданная форма может иметь несколько шагов «загрузки файла».

В доказательстве концепции мы использовали sessionStorage для хранения всех данных всех этапов. И на последнем шаге, при нажатии кнопки «отправить», все данные отправляются на сервер. Тем не менее, sessionStorage имеет ограничение (5 МБ, если я не ошибаюсь).

В качестве решения я думал о загрузке (используя axios или что-то подобное) всех файлов на серверную часть всякий раз, когда пользователь завершает этап «загрузки файла». Поскольку пользователь может вернуться к предыдущим шагам формы и, возможно, удалить некоторые файлы, уже отправленные на сервер, мне потребуется создать логику удаления на стороне сервера, чтобы эти изменения были отражены.

Я ищу способ сохранить текущее поведение (отправить все данные на сервер сразу), но не смог найти полезную ссылку в Интернете. Это вообще возможно? Может кто-нибудь предложить мне что-то?

1 Ответ

0 голосов
/ 28 июня 2019

Добавьте состояние в родительский компонент, в котором находятся все шаги формы, а затем сохраните все данные формы в локальном состоянии. Когда вы будете готовы к отправке, используйте значения состояния для отправки.

Вы можете хранить файл в состоянии реакции так же, как и при любом другом вводе формы. Файл будет переменной, полученной из event.target.files

...