Open Hah-nna opened 10 months ago
*예시는 lodash 라이브러리의 _debounce와 _throttling을 사용함
연속해서 호출되는 함수들을 하나로 묶어 마지막 함수만 호출하게 하는 것 디바운스된 함수가 마지막으로 호출된 이후 설정한 일정 대기 시간만큼 함수 호출을 지연함
사용 예시
로그아웃
마이페이지
로그인
|
회원가입
leading(default: false) leadingEdge 옵션을 사용하면 역으로 함수 발생 시점에 디바운스가 발생함 즉, 여러 함수가 발생하는 첫 시점에 이벤트가 발생하는 것임 그 이후 발생하는 연속되는 함수는 하나로 묶어서 처리됨
trailling(default: true) 함수가 마지막 이벤트가 발생한 후 설정한 시간(초)가 지난 후에 호출할지 여부
마지막 함수가 호출된 이후 일정 시간이 지나기 전에 다시 호출되지 않도록 하는 것
leading(default: true) 설명은 debounce의 leading 옵션과 같음
trailling(default: true) 설명은 debounce의 trailling 옵션과 같음
https://lodash.com/docs/4.17.15#debounce
https://css-tricks.com/debouncing-throttling-explained-examples/
Debounce, Throttling
*예시는 lodash 라이브러리의 _debounce와 _throttling을 사용함
Debounce
연속해서 호출되는 함수들을 하나로 묶어 마지막 함수만 호출하게 하는 것 디바운스된 함수가 마지막으로 호출된 이후 설정한 일정 대기 시간만큼 함수 호출을 지연함
사용 예시
내가 사용한 debounce 사용 예시
``` import { useState, useEffect, useCallback } from 'react'; import debounce from 'lodash/debounce'; type WidthSize = { width: number; }; const useWidthResize = (): WidthSize => { const [width, setWidth] = useStateoptions
leading(default: false) leadingEdge 옵션을 사용하면 역으로 함수 발생 시점에 디바운스가 발생함 즉, 여러 함수가 발생하는 첫 시점에 이벤트가 발생하는 것임 그 이후 발생하는 연속되는 함수는 하나로 묶어서 처리됨
trailling(default: true) 함수가 마지막 이벤트가 발생한 후 설정한 시간(초)가 지난 후에 호출할지 여부
Throttling
마지막 함수가 호출된 이후 일정 시간이 지나기 전에 다시 호출되지 않도록 하는 것
options
leading(default: true) 설명은 debounce의 leading 옵션과 같음
trailling(default: true) 설명은 debounce의 trailling 옵션과 같음
사용 예시