在反应钩子内延迟执行

时间:2021-05-27 20:24:17

标签: reactjs react-hooks

我在每次按键时调用我的搜索功能。 我正在寻找一种方法来延迟此操作,以便在调用服务之前等待更多字符。

    const [keyword, setKeyword] = useState("");

    useEffect(() => {
        keyword && searchService(keyword).then(res => console.log(res));
    }, [keyword]);

    <input
        type="search"
        value={keyword}
        onChange={e => setKeyword(e.target.value)}
    />

有哪些好的技术可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

你可以使用这个。 https://www.npmjs.com/package/use-debounce

const [keyword, setKeyword] = useState("");

const [value] = useDebounce(keyword, 1000);

useEffect(() => {

}, [值]);