Отмена поиска в поиске onChangeText () - PullRequest
0 голосов
/ 25 сентября 2018

Используя 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
                */
            }}
        />
    )
}

Я не получаю setting в журнале консоли при использовании debounce.Есть идеи?

1 Ответ

0 голосов
/ 25 сентября 2018

Прямо сейчас вы создаете новый экземпляр debounce при каждом вызове обработчика.

В идеале, вы должны поместить весь обработчик в debounce, так как debounce создает функцию debounced, которая задерживает вызов func

onChangeText={_.debounce(this.onChangeText, 1200)}
...