javascript - 在 React + Redux 中去抖方法的正确方法是什么?
问题描述
我想在过滤器组件中消除 AJAX 请求。问题是我还想在用户开始输入时显示加载器,但这会导致组件重新呈现和handleChange
方法重新声明,因此去抖动无法按预期工作。处理这个问题的正确方法是什么?
const QuestionsPage: React.FunctionComponent<T.IQuestionsPageProps> = (props) => {
const debouncedFilter = debounce(props.fetchFilteredQuestions, 500);
const handleChange = (values: any) => {
props.setFetching(true);
debouncedFilter(values);
};
return (
<Wrapper>
<QuestionsSearchForm
className={s.form}
handleChange={handleChange}
/>
{
props.isFetching && <p>FETCHING</p>
}
{ ... mapping list ... }
</Wrapper>
);
};
解决方案
推荐阅读
- php - 由于保护功能,调用方法尝试不起作用
- javascript - 如何在 .js 文件中使用 .ts 文件中的变量
- arrays - 尝试在 Flutter Streambuilder 中构建一个喜欢/不喜欢按钮 - 不工作
- nginx - 在 Synology nginx 反向代理后面不允许 Zammad 社区零星错误 405
- c# - CS0120 非静态字段需要对象引用
- javascript - 在特定时间后重定向到另一个页面并显示倒计时
- python - 通过查询内联替换 AST 节点
- c# - 消费者传奇何时/如何完成?
- ionic-framework - 为什么 jhipster-ionic 会失败?
- c# - 如何在 C# 中的图像上添加带有文本的边框?