Inflearn brand logo image

인프런 커뮤니티 질문&답변

임규리님의 프로필 이미지
임규리

작성한 질문수

Next.js 15로 완성하는 실전 YouTube 클론 개발

TRPC 설정

[ Server ] Error: Cannot read properties of undefined (reading 'useSuspenseQuery')

작성

·

40

0

image.png

아래와 같이 코드르 작성하고 그냥 PageClient 만 불러왔을 때도 정상 동작하는데 useSuspenseQuery 를 사용하면 에러가 발생합니다.

 

page.tsx

import { trpc } from "@/trpc/server";
import { PageClient } from "./client";

export default async function Home() {

  void trpc.hello.prefetch({ text: "Kyuleelim" })

  return (
    <div>
      <PageClient />
    </div>
  );
}

client.tsx

"use cilent"

import { trpc } from "@/trpc/client"

export const PageClient = () => {
  const [data] = trpc.hello.useSuspenseQuery({
    text: "Kyuleelim",
  });

  return (
    <div>
      {/* Page client */}
      Page Client says: {data.greeting}
    </div>
  )
}

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 임규리님.

useSuspenseQuery에서 발생하는 오류는 주로 Next.js 15.1.6 버전과 연관되어 있을 수 있습니다. Next.js 같은 최신 프레임워크에서는 종종 라이브러리의 버전이 달라짐에 따라 API가 변동될 수 있어 이러한 문제가 발생할 수 있습니다.

오류 해결을 위한 몇 가지 제안:

  1. 라이브러리 버전 확인 및 최신화: 사용하시는 trpc 라이브러리의 최신 버전을 확인하고 업데이트해 보세요. 라이브러리의 버전이 다르면 API 사용 방식이 달라질 수 있습니다.

  2. 버전 호환성 체크: Next.js와 함께 사용 중인 trpc의 버전이 호환되는지 확인해 보시기 바랍니다. 비호환적인 버전을 사용하면 undefined에 접근하는 오류가 발생할 수 있습니다.

  3. 사용 가이드 참고: trpc 라이브러리의 공식 문서나 사용 가이드를 참조하여 useSuspenseQuery가 어떻게 사용되는지 다시 한번 확인해 보세요. 가끔 공식 문서에서 제공하는 예제 코드가 문제 해결에 큰 도움이 됩니다.

  4. 에러 메시지 분석: 오류 메시지는 trpc.hello.useSuspenseQuery 호출 시 발생하고 있음을 말해줍니다. 이는 trpc가 올바르게 초기화되지 않았거나 불러오지 못할 수 있음을 의미합니다. 이 라인에서 제대로 된 형태로 trpc를 로드하고 있는지 확인하세요.

아래 게시물은 유사한 환경에서 비슷한 문제에 대한 해결 방안을 제안할 수 있는 링크입니다:

이두 질문이 직접적으로 useSuspenseQuery 오류를 다루지는 않지만, 프로젝트 설정 및 환경에 관련된 문제 해결을 위한 유용한 힌트를 제공할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

임규리님의 프로필 이미지
임규리

작성한 질문수

질문하기