将表单数据保存为用户类型 (React/Postgres)

给定一个简单的文本框来回答问题,您将如何在用户键入时保存答案?假设答案被更新。

使用一个有点天真的 onChange 处理程序示例并使用该 onChange 中的 API 保存答案,我遇到了两个问题:

  1. 从客户端向 API 发送似乎太多的补丁请求,因为每次输入文本框答案都会更改。

  2. 如果使用 postgres upsert 或创建你自己的,那么如果用户快速输入,onChange 处理程序发出的第二个请求可能看不到第一个请求,为该文本框创建重复记录(一个问题的两个答案)

  3. 我需要预先执行查询以在更新之前获取必要的关系值,因此 HTTP 等待时间相当长。现在解决这个问题,但似乎没有解决上述两个问题。

我想只在用户按下空格键时保存,但这看起来很老套。通常当然我会在点击提交按钮后保存,但在这种情况下,它必须是用户输入的。

有什么建议/意见吗?干杯。

编辑:

还尝试在 onBlur 中保存。但这并不总是根据用户点击的位置来调用。


蛊毒传说
浏览 72回答 1
1回答

慕莱坞森

它是否必须为每个按键修补数据,或者您可以使用延迟吗?例如...用户开始输入:注册事件,设置超时时间,比如 3 秒如果用户继续输入:将超时重置为完整的 3 秒如果用户暂停输入 + 3 秒通过:用新值修补数据当用户恢复输入时:设置另一个超时
打开App,查看更多内容
随时随地看视频慕课网APP