【发布时间】:2019-12-21 22:05:13
【问题描述】:
我在我的 React 类组件中有输入:
changeVal(event) {
console.log(event.keyKode)
}
...
return(
<input onKeyDown={event => this.changeVal(event)} />
)
如何在没有 lodash 的情况下以 500 毫秒的去抖动在 keyDown 上调用函数?
我尝试了下一件事:
debounce = (callback, delay) => {
const timerClear = () => clear = true;
var clear = true;
return event => {
if (clear) {
clear = false;
setTimeout(timerClear, delay);
callback(event);
}
}
}
return(
<input onKeyDown={event => this.debounce(this.changeVal, 500)} />
)
但这根本行不通。
【问题讨论】:
标签: javascript reactjs debouncing