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()

你总是可以在 useEffect 中传递第二个参数,让钩子知道它应该依赖于什么值。

useEffect(() =>{}, [])

通过运行一个空数组 [] 作为第二个参数,你让 React 知道你的 useEffect 函数不依赖于来自 props 或状态的任何值。

相关内容

  • 没有找到相关文章

最新更新