一、在react中使用 debounce(防抖) 或 throttle(节流)时,遇到报错,关于 event.persist()...
解决办法:
方法一:添加e.persist()。
如果按照提示,在调用的函数中添加e.persist(),确实能够消除该报错,但是接下来的问题是event.target可能会是null,那么如果我们在接下来的业务代码中需要使用到e.target.value就会由问题。因此这个方法不太推荐。
方法二:利用传参的方法来实现。
import _ from "lodash";
import React, { Component } from "react";
function Search() {
const _handle = value => {
console.log(value);
};
const debounceHandler = _.debounce(_handle, 500);
const onChange = e => {
debounceHandler(e.target.value);
};
return (
<div>
Search:
<input onChange={onChange} />
</div>
);
}
export default Search;