reactjs - React Hook:仅当用户停止输入时才向服务器发送数据
问题描述
我想要构建的是一个编辑器,它可以在不同的客户端之间同步数据。为了不使服务器过载,我考虑了一个时间窗口,该时间窗口必须在没有动作的情况下通过才能将数据发送到服务器。
目前我的反应状态有一个价值编辑。如果编辑从 true 切换到 false,则会向服务器发送带有新更新的补丁请求。
useEffect(() => {
if (store.bootstrapFinished && store.editing === false)
saveLesson(store, dispatch, true)
}, [store.editing])
当用户开始输入(可能是标题更改或文本更改)时,编辑设置为 true。为了使文本与服务器同步,我想在用户不进行任何更改后将编辑设置为 false,但 useEffect 仅对特定值的更改做出反应,例如上面的代码示例或每个人。
但是,是否还有一个像 useEffect 女巫这样的反应功能,每次编辑被派出时都会被调用,而不仅仅是改变?我阅读了一些关于 useRef 的内容,但并没有真正理解如何使用它。
解决方案
您应该在更改该状态的同时运行 fetch 函数
setEditing(true)
fetchOperation()
推荐阅读
- javascript - Dynamically button and page generation in VueJS
- javascript - 将 api 对象从 fetch 写到 html
- ios - Objective C 到 Swift 的互操作性问题
- google-apps-script - 将 jpg 批量转换为 Google Docs
- node.js - 在线阅读 Redhat OpenShift 内部的秘密?
- kendo-ui - Kendo jQuery Barchart 上堆叠列的 categoryAxis 标签
- go - 如何正确调用测试依赖项
- c# - FireComplex 粒子只能在触发时激活吗?
- css - 我的 a:hover 框不包含填充的导航链接有什么问题?只有内容框改变颜色。
- matlab - 如何提取和规范化矩阵列?