만들려고 하는 것

const handleClick = useCallback(()=>{
        let currentQuery = {};

        if(params){
            currentQuery = qs.parse(params.toString());
        }

        console.log('현재 쿼리',currentQuery)

        const updateQuery : any = {
            ...currentQuery, 
            category : label
        }
        // 현재 쿼리 스트링의 category 값과 누른 label이 같으면 쿼리 삭제
       if(params?.get('category') === label){
        delete updateQuery.category;
       }

       // 실제로 이동시킬 쿼리 생성
       const url = qs.stringifyUrl({
        url : '/',
        query : updateQuery
       }, {skipNull : true})
			 // 실제로 이동시킴
       router.push(url);

    },[label, params, router])

만들려고 하는 것 2

function Categories(){
    const params = useSearchParams();
    const categoryValue = params?.get('category');
    const pathname = usePathname();

    const isMainPage = pathname === '/'

    if(!isMainPage){
        return null
    }

    return(
        <Container>
            <div className="pt-4 flex flex-row imtes-center justify-between overflow-x-auto">
                {categories.map((item) => (
                    <CategoryBox key={item.label} label={item.label} selected={categoryValue === item.label} icon={item.icon}/>
                ))}
            </div>
        </Container>
    )
}

스크린샷 2023-09-15 오후 11.41.09.png