Search 페이지의 Tab컴포넌트 useSearchParams 부분 질문 있습니다.
446
작성한 질문수 7
search 페이지의 Tab 컴포넌트에서 질문이 있습니다.
searchParams에 hot과 new가 전달되는 부분이 어딘지 모르겠어서 질문드립니다..
제 생각으로는 Tab 컴포넌트에서 인기, 최신 div를 클릭해서 값을 전달해야 할 것 같은데
해당 부분에서는 current useState만 변경하고 다른 변경은 없는 것 같습니다.
어느 부분에서 searchParams에 값을 전달해서, searchParams.get('q')로 값을 받아올수있는지 궁금합니다..
아래 코드 첨부드립니다!
"use client";
import style from "../search.module.css";
import { useState } from "react";
import { useRouter, useSearchParams } from "next/navigation";
export default function Tab() {
const [current, setCurrent] = useState("hot");
const router = useRouter();
const searchParams = useSearchParams();
const onClickHot = () => {
setCurrent("hot");
router.replace(`/search?q=${searchParams.get("q")}`);
};
const onClickNew = () => {
setCurrent("new");
router.replace(`/search?${searchParams.toString()}&f=live`);
};
return (
<div className={style.homeFixed}>
<div className={style.homeTab}>
<div onClick={onClickHot}>
인기
<div className={style.tabIndicator} hidden={current === "new"}></div>
</div>
<div onClick={onClickNew}>
최신
<div className={style.tabIndicator} hidden={current === "hot"}></div>
</div>
</div>
</div>
);
}
답변 2
1
searchParams는 현재 주소창에 기재되어있는 것 중 q= 으로되어있는 값을 가져옵니다.
저 값은SearchForm.tsx에 보면 router.push로 보내주고 있네요.
1
searchParams에서 hot이냐 new냐를 구분하는 부분은 f=live뿐입니다. q는 검색을 할 때 생성되는 부분입니다. 현재 코드는 hot과 new를 전환하더라도 검색의 q를 유지하기 위함입니다.
캡처링부분 질문있습니다.
0
76
2
깃에 소스코드를 찾을 수 없습니다.
0
113
2
useInfiniteQuery promise와 react use 사용시 페이지 무한 로딩
0
98
1
import 파일 경로를 찾지 못 해서 에러가 발생합니다.
0
111
2
css 라이브러리 추천 부탁드립니다
0
141
2
팔로우 추천 목록이 빈 배열로 들어옵니다.
0
133
1
게시물 업로드 시 userId가 undefined로 들어가는 오류
0
119
1
useSuspenseQuery 사용 시 SSR 401 이슈 관련
0
172
1
리액트 쿼리 useinfinitequery 무한스크롤 구현 시 페이지가 이동할 경우 데이터가 보존되게 할 수 있나요??
0
184
3
폴링이 필요없는 이유
0
93
2
next Request Memoization과 react cache
0
110
2
seo 최적화 기준은 데이터 fetching인가요 아님 데이터 렌더링인가요?
0
84
2
next.js 서버fetch 에러 fallback ui 구현 방법
0
173
2
프레임워크 여론 파악법
0
125
2
필터옵션이 많은 페이지에서 서버 fetch를 하는게 맞는걸까요??
0
103
2
서버 fetch suspense 로 감싸고 새로고침 시 잠시 빈 화면이 노출된 후 fallback ui가 노출됩니다.
0
102
2
template.tsx 내 서버fetch 응답값과 클라이언트 컴포넌트 상태값 싱크가 맞지 않는 이슈
0
66
2
Auth.js 사용 시 authorize 함수가 호출되지 않습니다
0
132
2
next.js 에서 로그인에 관하여
0
138
1
Next의 route handler에 대한 질문이 있습니다.
0
101
2
게시판 리스트 만들때 use client를 어디서부터 집어넣어야할지 모르겠습니다
0
98
2
프라이빗 폴더를 해야 하는 이유가 모호한 것 같아요.
0
85
2
vanilla-extract 못찾는 문제
0
230
2
fetch 캐싱과 revalidate 관련
0
85
2





