Next.js의 App Router 강의를 듣다가 헷갈리는 부분이 있어서 질문 드립니다! 서버 컴포넌트로 초기 접속을 하게 되면 서버에서 RSC Payload와 HTML을 렌더링해서 브라우저에 보여주는걸까요? 아니면 RSC Payload가 직렬화한 HTML 정보를 가지고 있어서 바로 브라우저에 보내지는걸까요? 공식 문서에는 하이드레이션을 한다고 되어 있는데 하이드레이션을 하게 되면 두 번 렌더링이 되는거 아닌가요?? Link를 통해 서버 컴포넌트로 이동하게 되면 클라이어트 컴포넌트가 이동하는 것처럼 CSR 방식으로 동작을 하는건가요? 만약 동작을 한다 그러면, prefetch된 RSC Payload를 통해서 브라우저가 새로운 UI를 구성하는건가요?
이미 다른 분들이 동일하거나 비슷한 경우를 많이 올려주셔서 다시 해봐도 도저히 해결이 안되어 문의 글 남깁니다. .env 생성했고... # Connect to Supabase via connection pooling DATABASE_URL="postgresql://postgres.zbjatvpiqrregrejqyok:akswlwlak29@aws-0-ap-northeast-2.pooler.supabase.com:6543/postgres?pgbouncer=true" # Direct connection to the database. Used for migrations DIRECT_URL="postgresql://postgres.zbjatvpiqrregrejqyok:akswlwlak29@aws-0-ap-northeast-2.pooler.supabase.com:5432/postgres" 이렇게 오류가 발생합니다. C:\Users\BANG\Documents\onebite-books-server-main\onebite-books-server-main>npx prisma db push Environment variables loaded from .env Prisma schema loaded from prisma\schema.prisma Datasource "db": PostgreSQL database "postgres", schema "public" at " aws-0-ap-northeast-2.pooler.supabase.com:5432 " Error: Schema engine error: FATAL: Tenant or user not found supabase에서 계속 프로젝트 삭제 후 재생성해보고 비번도 바꿔봐도 동일한 증상입니다. 확인 부탁드립니다.
template.tsx 는 페이지 전환 시 새로운 인스턴스를 생성하여 상태가 초기화되는데, 이러한 특성을 활용해 SEO 메타데이터 처리의 정확성과 일관성을 높이기 위한 목적으로 사용하는 것인가요? 즉, 전역 상태나 클라이언트 캐시 등으로 인해 예외적으로 SEO 메타데이터가 적용되지 않는 문제를 방지하기 위한 보완적 수단으로 보면 될까요?
let time=10 setInterval(function(){console.log(time)},1000) 강의 중 setInterval에 익명함수를 집어넣는다고 하셨는데 let time=10 setInterval(let aa=function(){console.log(time)},1000) 이 코드가 맞지 않나요? 그니까 먼저 익명함수 이름부터 선언해야하지 않나요? 그리고 여기서도 위에 함수는 change라고 이름을 붙여줬는데 밑에 함수는 이름도 없이 쓰는것이 왜 그런거인지 궁금합니다!
마이페이지에서 구매내역에서 seller, buyer의 _id, name 등 가져오지 못합니다. query { fetchPointTransactionsOfBuying(page: 1, search: "") { amount status statusDetail travelproduct { name seller { name } } } } graphQl 페이지에서 직접 header에 토큰 넣어도 불러오지 못하는데 어떻게 피그마에 있는 구매내역의 판매자 값을 불러올 수 있을까요? seller, buyer를 포함하면 API 요청은 되는데 에러가 떠 데이터 사용하지 못하고 제외하고 요청을 하면 정상적으로 사용할 수 있습니다.
풀 라우트 캐시 조건에 http 요청에서 쿠키나, 헤더값등을 얻어오는 동적함수를 사용하거나 props에서 searchParams 를 꺼내오는 등의 조건들이 동적 페이지로 선정되는 기준이라고 하셨는데요. components/searchbar.tsx 에서 useSearchParams() 훅 사용도 같은 맥락인것 같은데, 이친구는 왜 빌드시에 체크된걸까요? 빌드 과정 중 정적 코드 분석을 통한 경고성 오류일까요? (with-searchbar)/page.tsx 가 static page로 선정되어, 그 내부에 포함되어 있는 컴포넌트이기 때문에 components/searchbar.tsx 까지 빌드하려다가 발생한 오류일까요? useSearchParams() 훅은 dynamic page 선정조건에 포함되지 않은걸까요? 궁금합니다! 만약 수업 내용 중 있었는데, 제가 놓친거라면 죄송합니다~
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 듣다가 궁금해진게 리퀘스트 메모이제이션이 자동으로 작동하는데 특정 요청만 끄려면 어떻게 해야 하나요? 예제 프로젝트에서 추천 도서를 랜덤으로 가져오는데 동일 컴포넌트를 여러개 호출 해보니 메모이제이션이 작동해서 모두 똑같이 나오더라고요 일반적이진 않지만 이런 랜덤성(?)있는 데이터는 메모이제이션을 적용하고 싶지 않을 수도 있을 것 같은데 이런 경우는 어떻게 하나요
CSR 방식과 관련하여 궁금한 점이 있습니다. CSR 방식에서, 서버에서 처음부터 번들링된 JavaScript 파일을 보내주지 않고, 빈 껍데기 HTML 파일을 먼저 보내는지 이유가 궁금합니다. 빈 껍데기 HTML 파일이라 Next.js에서처럼 Hydration도 이루어지지 않을 텐데, 빈 껍데기 HTML 파일을 왜 보내는지 아무리 생각해 봐도 용도를 모르겠습니다.