去抖搜索输入 onChangeText()
Debouncing search input onChangeText()
使用 lodash 的 debounce()
,我试图等待 1.2 秒,然后在我的应用状态中设置搜索词。但是我用的时候好像没有运行我的功能:
onChangeText(text) {
console.log('setting');
setSearching(true);
setSearchTerm(text);
}
render(){
return(
<TextInput style={s.input}
onChangeText={() => {
_.debounce(this.onChangeText, 1200);
/*
doing just...
this.onChangeText(text)
...works
*/
}}
/>
)
}
使用 debounce
时,我的控制台日志中没有显示 setting
。有什么想法吗?
现在您正在为处理程序的每次调用创建一个 debounce
的新实例。
理想情况下,您应该将整个处理程序包装在 debounce
中,因为 debounce 创建了一个延迟调用 func
[=15 的 debounced
函数=]
onChangeText={_.debounce(this.onChangeText, 1200)}
使用 lodash 的 debounce()
,我试图等待 1.2 秒,然后在我的应用状态中设置搜索词。但是我用的时候好像没有运行我的功能:
onChangeText(text) {
console.log('setting');
setSearching(true);
setSearchTerm(text);
}
render(){
return(
<TextInput style={s.input}
onChangeText={() => {
_.debounce(this.onChangeText, 1200);
/*
doing just...
this.onChangeText(text)
...works
*/
}}
/>
)
}
使用 debounce
时,我的控制台日志中没有显示 setting
。有什么想法吗?
现在您正在为处理程序的每次调用创建一个 debounce
的新实例。
理想情况下,您应该将整个处理程序包装在 debounce
中,因为 debounce 创建了一个延迟调用 func
[=15 的 debounced
函数=]
onChangeText={_.debounce(this.onChangeText, 1200)}