Учитывая простое текстовое поле для ответа на вопрос, как бы вы сохранили ответы при вводе пользователем?Предполагая, что ответ отклонен.
Используя несколько наивный пример обработчика onChange и сохраняя ответы с помощью API в этом onChange, я столкнулся с двумя проблемами:
- Отправляет то, что кажетсяслишком много запросов на исправление от клиента к API, поскольку каждый раз при изменении ответа текстового поля.
- Если вы используете postgres upsert или создаете свой собственный, то второй запрос, сделанный обработчиком onChange, может не увидеть первый, еслипользователь быстро печатает, создавая дубликаты записей для этого текстового поля (два ответа на один вопрос)
- Мне нужно выполнить запросы заранее, чтобы получить необходимые значения отношений перед обновлением, поэтому время ожидания HTTP довольно велико.Исправление это сейчас, но, похоже, не решает две вышеуказанные проблемы.
Я думал о сохранении только после того, как пользователь нажимает пробел, но это кажется хакерским.Обычно, конечно, я бы сохранил после нажатия кнопки «Отправить», но в этом случае это должен быть тип пользователя.
Есть предложения / комментарии?Приветствия.
РЕДАКТИРОВАТЬ:
Также попытался сохранить в onBlur .. Но это не всегда вызывается в зависимости от того, где пользователь нажимает.