mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-23 11:50:14 +01:00
15 lines
463 B
TypeScript
15 lines
463 B
TypeScript
|
|
import { useState, useEffect } from 'react';
|
||
|
|
import type { ReactNode } from 'react';
|
||
|
|
|
||
|
|
const useDelayedRender = (delay: number) => {
|
||
|
|
const [delayed, setDelayed] = useState(true);
|
||
|
|
useEffect(() => {
|
||
|
|
const timeout = setTimeout(() => setDelayed(false), delay);
|
||
|
|
return () => clearTimeout(timeout);
|
||
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||
|
|
}, []);
|
||
|
|
return (fn: () => ReactNode) => !delayed && fn();
|
||
|
|
};
|
||
|
|
|
||
|
|
export default useDelayedRender;
|