import { useEffect, useState } from 'react'; // 处理可能页面没有第一时间加载,导致页面闪屏(先出现空状态,再显示 loading 状态)的情况 export const useStableLoad = (loading: boolean, timeout = 500) => { const [stableLoad, setStableLoad] = useState(true); useEffect(() => { const time = setTimeout(() => { setStableLoad(false); }, timeout); return () => { clearTimeout(time); }; }, []); return stableLoad || loading; };