Debounce & Throttle
9976 ワード
Debounce & Throttle
Debounce ❓
同じイベントが一定期間にわたって再び受信された場合、前の要求
上記の図
Throttle ❓
一定期間に発生したイベントを収集し、周期的に
useCallback ❓
const memoizedCallback = useCallback(함수, 배열);
useCallbackを使用したアンインストール、制限の例
import React from "react";
import _ from "lodash"; // lodash 부르기
const Search = () => {
const debounce = _.debounce((k) => console.log("디바운스! :::", k), 1000);
const keyPress = React.useCallback(debounce, []);
const onChange = (e) => {
keyPress(e.target.value);
};
return (
<div>
<label>Search:</label>
<input onChange={onChange} />
</div>
);
};
export default Search;
import React from "react";
import _ from "lodash"; // lodash 부르기
const Search = () => {
const throttle = _.throttle((k) => console.log("쓰로틀! :::", k), 1000);
const keyPress = React.useCallback(throttle, []);
const onChange = (e) => {
keyPress(e.target.value);
};
return (
<div>
<label>Search:</label>
<input onChange={onChange} />
</div>
);
};
export default Search;
Reference
この問題について(Debounce & Throttle), 我々は、より多くの情報をここで見つけました https://velog.io/@nulee1000/Debounce-Throttleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol