【发布时间】:2021-10-26 16:32:26
【问题描述】:
我正在根据用户输入进行 API 调用 onChange。我添加了一个去抖动,所以它只是对每个单词提出请求。我正在以最终形式的 FormSpy 执行此操作,因为这对其他字段也有影响。
import { FormSpy } from 'react-final-form';
import { OnChange } from 'react-final-form-listeners';
import _ from 'lodash';
function Component({
handleFunction,
input,
}: {
handleFunction: any;
input: any;
}) {
const debouncedSave = useCallback(
_.debounce(async (newValue) => await getSuggestedSections(newValue), 1000),
[],
);
return (
<FormSpy subscription={{ dirty: true, values: true }}>
{() => (
<OnChange name="item-name">
{async (value) => {
const data = await debouncedSave(value);
console.log(value);
console.log(data);
}}
</OnChange>
)}
</FormSpy>
);
}
当我控制台记录数据时,它返回未定义,即使我可以在网络请求中看到数据。
任何想法
【问题讨论】:
标签: reactjs lodash debouncing