控制台报错:Cannot read properties of null (reading 'value')
useCallback
记住你的 debounce 函数,所以它不会在组件重新渲染时一次又一次地重新创建。如果没有useCallback,
抖动功能将不会与onChange同步 执行
不多说,解决方法如下
import {useCallback} from 'react';
import debounce from 'lodash/debounce';
import axios from 'axios';
function Input() {
const [value, setValue] = useState('');
const debounceFn = useCallback(debounce(handleDebounceFn, 1000), []);
function handleDebounceFn(inputValue) {
console.log(inputValue)
axios.post(...);
}
function handleChange (event) {
setValue(event.target.value);
debounceFn(event.target.value);
};
return <input value={value} onChange={handleChange} />
}