Я хочу очистить или отменить тайм-аут при поступлении следующего вызова.
React.useEffect(() => { // set timeout to control unwanted searches setTimeout(doSearch, 300); return () => { // prevent search to call if new Search request arrives ? }; }, [searchKey]);
Сделайте это таким образом, чтобы очистить свой предыдущий таймер
React.useEffect(() => { const timer = setTimeout(doSearch, 300); return () => { clearTimeout(timer) }; }, [searchKey]);