我正在创建一个搜索输入,输入时使用lodash debounce
来延迟请求。
constructor(props) {
super(props);
this.state = {
query: ""
};
this.debouncedFetchSearchList = debounce(this.fetchSearchList, 500);
}
这些是我用来获取列表的功能:
fetchSearchList = (query: string) => {
if (query.length >= 3) {
this.props.setSearchList(query);
}
};
updateQuery = (id: string, value: string) => {
const query = value;
this.setState({
query: query
});
this.debouncedFetchSearchList(query);
};
JSX:
<TextInput
type="text"
id="search-items"
onChange={this.updateQuery}
label={I18n.search}
placeholder={I18n.search}
className="search-items"
/>
当我使用此设置键入内容时,出现错误: “未捕获的TypeError:_this.debouncedFetchSearchList不是函数”
如果我调用console.log(this),我可以看到该函数在那里,并且它的值是lodash包装器。
我缺少明显的东西吗?
答案 0 :(得分:1)
所以最终这是一个愚蠢的错误。
我错误地导入了它。
我有:SELECT * FROM YourTable
WHERE ItemCreatedWhen > DATEADD(DAY,-2,CAST(GETUTCDATE() as DATE))
and ItemCreatedWhen < CAST(GETUTCDATE() as DATE)
应该是:import debounce from "lodash";
我以前认为导入是可以的,因为我想如果输入错了,我会得到一个错误。