как отменить время ожидания при поступлении следующего вызова в useEffect реагировать - PullRequest
0 голосов
/ 26 января 2020

Я хочу очистить или отменить тайм-аут при поступлении следующего вызова.

 React.useEffect(() => {
    // set timeout to control unwanted searches
     setTimeout(doSearch, 300);
    return () => {
      // prevent search to call if new Search request arrives ?

    };
  }, [searchKey]);

1 Ответ

2 голосов
/ 26 января 2020

Сделайте это таким образом, чтобы очистить свой предыдущий таймер

 React.useEffect(() => {
    const timer = setTimeout(doSearch, 300);
    return () => {
       clearTimeout(timer)    
    };
  }, [searchKey]);
...