【发布时间】:2020-10-11 05:25:33
【问题描述】:
我有一个表单组件,我想在输入时执行 API 请求。我想去抖这个,所以我不会向服务器发送垃圾邮件。这是我的代码:
export default function MyItem ({ id, name }) {
const debouncePatch = (name) => {
debounce(patchItem.bind(this, id, name), 500)
}
return (
<div>
<form
type='text'
value={name}
onChange={(evt) => debouncePatch(evt.target.value)}
/>
</div>
)
}
补丁项对服务器进行简单的补丁调用,以便在我键入时更新项目的名称。它看起来像这样:
export default function patchItem (id, name,) {
return axios.patch(`${MY_BASE_URL}/${id}`, { name })
}
去抖动它根本不起作用。 patchItem 函数永远不会被调用。我该如何解决这个问题?
【问题讨论】:
-
debounce 返回一个“可去抖动”的新函数。您在处理程序中调用 debounce 而不是 debounced 函数。
标签: javascript reactjs debounce