Временная база данных для восстановления формы в многоступенчатой форме

#reactjs

#reactjs

Вопрос:

Я разработчик API, который работает в компании, которая хочет перейти от большой CMS к интерфейсной платформе React web.

Мне было дано новое требование о том, что все многостраничные формы на нашем веб-сайте должны быть перезапускаемыми в будущем, и я должен разработать что-то для этого.

Давайте рассмотрим следующий пример…

 Form 1 - Select your product
Form 2 - Enter your details
Form 3 - Enter Payment details
  

То, как я вижу, что это работает, заключается в том, что первым полем в форме будет ваш адрес электронной почты. Оттуда по одному для каждого следующего нажатия кнопки в многоступенчатой форме (т. Е. после отправки каждого шага) Я думаю, возможно, поля формы добавляются в сеанс и, возможно, по истечении времени ожидания сеанса, если форма не была отправлена, вызывается API для сохранения тех битов формы, которые уже были отправлены в DynamoDB, используя адрес электронной почты в качестве идентификатора.

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

Я хотел бы получить некоторые мысли об этом решении от разработчиков Reactjs. И если это было сделано ранее другими, я хотел бы услышать ваши идеи об альтернативах.

Спасибо

Комментарии:

1. Требуется ли, чтобы данные также сохранялись на сервере?

2. на этом этапе требуется сохранение в DynamoDB. Какую дополнительную ценность вы получили бы от сохранения на сервере через DynamoDB?

3. Для уточнения: требуется ли сохранять каждый шаг в DynamoDB? В противном случае вы могли бы просто использовать localStorage. Кроме того, DynamoDB в основном является сервером в этом экземпляре. Возможно, лучшая терминология — «серверная часть» (т. Е. Не клиент).

4. Ну, допустим, пользователь переходит к форме 3, это означает, что в DynamoDB должен быть один документ, содержащий данные из формы 1 и формы 2 по адресу электронной почты пользователя.

5. Да, но каково поведение, если они завершают работу на шаге 2?