기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Next.js] router query(props) 값이 비어있는 오류
FrontEnd/Next.js

[Next.js] router query(props) 값이 비어있는 오류

2022. 7. 15. 10:47
반응형

1. 개요

Next.js에서 router를 사용해서 페이지 이동을 할때, query에 keyword를 담아서 페이지 이동을 시키려고 했습니다.

search라는 페이지에 해당하는 tsx에서 props로 저 쿼리가 읽혀야 하는데 props.data에 값이 비어있었습니다...

 

 

2. 해결 방법

  const router = useRouter();
  const queries = router.query; // 전달받은 쿼리 내용

  useEffect(() => {
    if (!router.isReady) return;
    console.log(queries)
    
    }, () => { })
  }, [router.isReady])

위와 같이 전달 받은 tsx에서 useRouter() 객체를 가지고 초기화를 해서 사용해야 합니다.

이유는 정적파일 최적화(Automatic Static Optimaizaion)에 의해서 최적화된 페이지의 루트 매개 변수가 제공되지 않아서 query가 빈 객체가 된다고 합니다...

 

저 router의 isReady를 useEffect에서 감시하도록 두고 그 내부에서 쿼리로 받은 데이터를 사용하면 됩니다!

 

 

참고 사이트

https://im-designloper.tistory.com/98

 

반응형
저작자표시 변경금지 (새창열림)

'FrontEnd > Next.js' 카테고리의 다른 글

[Next.js] Antd es module 사용시 이슈(nextjs antd syntaxerror cannot use import statement outside a module)  (0) 2024.06.27
[Next.js] Proxy Axios 설정  (0) 2022.06.20
[Next.js] SSG, SSR 개념 정리  (0) 2022.06.02
[Next.js] Hydrate란?  (0) 2022.05.18
    'FrontEnd/Next.js' 카테고리의 다른 글
    • [Next.js] Antd es module 사용시 이슈(nextjs antd syntaxerror cannot use import statement outside a module)
    • [Next.js] Proxy Axios 설정
    • [Next.js] SSG, SSR 개념 정리
    • [Next.js] Hydrate란?
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바