export const useDebonce=(value,delay)=>{
const [params,setParams]=useState(value)
useEffect(()=>{
const time=setTimeout(()=>setParams(value),delay)
return ()=>{
clearTimeout(time)
}
},[value,delay])
return params
}
//使用
useEffect(() => {
fetch(`${baseUrl}/project?${qs.stringify(cleanObject((debouncedParams)))}`).then(async response=>{
if(response.ok){
setList(await response.json())
}
})
}, [debouncedParams])
export const isFlag=(value)=>value?value:false
export const cleanObject=(params)=>{
const result={...params};
Object.keys(result).forEach((v,i)=>{
let values=result[v];
if(!isFlag(values)){
delete result[v]
}
})
return result;
}