mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-25 09:56:15 -04:00

* Added vite react admin ui. * Added react i18next. * Added pads manager. * Fixed docker build. * Fixed windows build. * Fixed installOnWindows script. * Install only if path exists.
22 lines
No EOL
512 B
TypeScript
22 lines
No EOL
512 B
TypeScript
import {DependencyList, EffectCallback, useMemo, useRef} from "react";
|
|
import {useAnimationFrame} from "./AnimationFrameHook";
|
|
|
|
const defaultDeps: DependencyList = []
|
|
|
|
export const useDebounce = (
|
|
fn:EffectCallback,
|
|
wait = 0,
|
|
deps = defaultDeps
|
|
):void => {
|
|
const isFirstRender = useRef(true)
|
|
const render = useAnimationFrame(fn, wait)
|
|
|
|
useMemo(()=>{
|
|
if(isFirstRender.current){
|
|
isFirstRender.current = false
|
|
return
|
|
}
|
|
|
|
render()
|
|
}, deps)
|
|
} |