在 Umi 中使用 debounce 可以使用 lodash.debounce 函数,该函数可以将指定的函数防抖到一定时间间隔后执行。
你需要先安装 lodash 库:
Copy Codenpm install lodash
然后在代码中引入 debounce 函数并应用即可。示例代码如下所示:
jsxCopy Codeimport React from 'react';
import { debounce } from 'lodash';
class App extends React.Component {
handleInputChange = debounce((e) => {
console.log(e.target.value);
}, 1000);
render() {
return (
<div>
<input type="text" onChange={this.handleInputChange} />
</div>
);
}
}
export default App;
在上面的代码中,我们首先使用 import 语句引入了 debounce 函数,然后在组件中的 handleInputChange 方法中使用了该函数来将 console.log 函数防抖到用户连续输入结束后的 1 秒钟后执行一次。
需要注意的是,在调用 debounce 函数时,第二个参数表示防抖的时间间隔,单位为毫秒。如果不传递该参数,则默认时间间隔为 0 毫秒。
除了 lodash 外,你也可以使用其他的 JavaScript 库或者自己手写一个 debounce 函数来实现防抖功能。