inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

데이터 패칭과 프리패칭 순서

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 강사님, 복습하는 과정 중에 Page Router 기준으로 SSR + 프리패칭 + Hydration 흐름을 제가 이해한 대로 정리해보았는데, 이게 맞는지 확인 부탁드립니다. 사용자가 /a 페이지에 있을 때 <Link href="/c" prefetch> 가 있으면, 브라우저는 백그라운드에서 /c.js (코드 스플리팅된 JS 청크)만 미리 받아 캐시에 저장해둔다. → 이 단계에서는 HTML이나 데이터( getServerSideProps 결과)는 가져오지 않는다. 사용자가 실제로 /c 를 클릭하면, 서버가 getServerSideProps 를 실행해서 데이터를 패칭하고, 그 결과를 반영한 SSR HTML + JSON을 브라우저에 내려준다. 브라우저는 HTML을 먼저 렌더링해서 FCP가 나오고, 이어서 캐시에 있던 /c.js 를 실행한다. 그 후 React가 HTML과 JS를 매칭시켜 Hydration을 수행하여 이벤트 핸들러를 연결한다. 즉, SSR 페이지 전환 시 1. User 클릭 → (서버) HTML 생성 및 데이터 패칭 → (브라우저) HTML 렌더링 → JS 실행 → Hydration 이고, 프리패칭은 그 전에 JS만 준비해 두는 과정으로 이해했습니다. 제가 이해한 흐름이 맞을까요? 머메이드로 도식화하자면 다음과 같습니다 . 위가 맞다면, 빠른 페이지 전환을 위해하는 프리패칭을 했지만 결국 데이터 패칭 및 HTML을 서버에서 다시 그려오는데 빠른 전환이 가능한건지 궁금합니다. 혹시 여기서 놓치고 있는 부분이나, 실제 네트워크 요청에서 다른 점이 있다면 알려주시면 감사하겠습니다!

  • react
  • typescript
  • next.js
kos7662 댓글 2 좋아요 0 조회수 111

vscode 호버힌트 툴팁

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

redux slice 생성 강의(1:37)에 호버하면 뜨는 툴팁에서 위에 간략한 설명은 똑같이 뜨는데 강사님처럼 아래 Error 로 더 자세히 뜨는 부분도 보고 싶은데 안 보입니다. 어떻게 설정해야 하나요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
깨굴이 댓글 2 좋아요 0 조회수 122

블로그 PostCard 이미지 상단 여백

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

주신 코드 그대로 이해하면서 보고 했는데, 분명 postcard 내부에서 Image태그를 감고 있는 div 태그들을 봐도, object-cover 로 부모 요소를 가득 채우는 양식으로 되고 있는데, 왜 이미지 상단에 여백이 생기는걸까요?

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
주병규 댓글 3 좋아요 0 조회수 110

flex-col 과 space-y-6 차이

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

space-y-6과 flex-col 로 gap-6(또는 gap-y-6)을 주는 방식의 차이를 모르겠어요 둘다 같은 결과를 초래하는것 아닌가요? 이번 코드에서 둘다 사용하시길래, 어떤 상황의 차이로 코드를 다르게 사용했는지 궁금해서 여쭙니다

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
주병규 댓글 1 좋아요 0 조회수 150

정상 동작하는 (완성본) 데모 사이트 링크

해결됨

한 입 크기로 잘라먹는 Next.js

정상 동작하는 (완성본) 데모 사이트 링크입니다. 수업 노트에 올라와 있는 링크에서 동작이 안될 경우 아래 링크를 참고해주세요. 👉 https://vod-onebite-books-client-page-router-ver.vercel.app

  • react
  • typescript
  • next.js
Next 댓글 2 좋아요 0 조회수 80

교안 31 오타 수정해주세요

미해결

코드로 배우는 React 19 with 스프링부트 API서버

page -> size 리액트 잘 모르시는 분들은 에러가 아닌데 dtoList1개 오시면 한참 해매실 것 같네요,

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
트릴 댓글 2 좋아요 0 조회수 76

컴포넌트,페이지 파일명 기준

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 정환님 강의를 듣다 우연히 궁금한 점이 생겨 문의드립니다. 제가 리액트 > 타입스크립트 > next.js 까지 쭉 듣고있는데요! 파일명을 짓는 기준이 궁금하여 문의드려요 리액트 컴포넌트파일명을 지을때는 맨 앞글자가 대문자가 기준인 것으로 알고있었는데 next.js 에서 ${페이지}.tsx 로 지으실때는 search-layout.tsx global-layout.tsx 이런식으로 대시방식을 사용하시는것같더라구요!! 혹시 현업에서 사용하는 파일명짓는 기준이나 일반적인 react,next.js에서 사용하는 파일명 기준이 있을까요?? 실무를 겪어보지 못해 잘 몰라서 해당건 질문드립니다,,,,,, 강의 항상 잘 듣고있어요 감사합니다 🙂

  • react
  • typescript
  • next.js
dpwl322 댓글 1 좋아요 0 조회수 106

✅ Supabase에서 테이블 옆에 Unrestricted가 뜨는 이유와 해결법 정리

해결됨

한 입 크기로 잘라먹는 Next.js

Supabase에서 Table Editor > 테이블 옆에 Unrestricted가 아래처럼 뜨시는 분들은 RLS disabled를 클릭한 후에 RLS를 Enable로 해주시면 됩니다. RLS(Row Level Security)가 꺼져 있으면, 누구나 API로 테이블 데이터를 볼 수 있습니다. 실제 서비스에서는 RLS를 반드시 켜고, 접근 정책(Policy)을 설정해야 데이터가 안전하게 보호됩니다. RLS 활성화는 Table Editor에서 “Enable RLS” 클릭 → 정책 추가로 진행하면 됩니다.

  • react
  • typescript
  • next.js
Next 댓글 1 좋아요 0 조회수 343

토스페이먼츠 연동하여 결제하기 오류

미해결

제로베이스부터 배우는 웹개발의 개념과 바이브 코딩

토스페이먼츠 연동하여 결제하기 기능 구현시 강사님의 영상과 다르게 오류가 나는데 도메인 localhost 가 실제 도메인 사용해야 한다고 합니다. 이럴경우 어떻게 해야 하나요? 영상과 실제가 너무 달라 애를 먹고 있어요.

  • react
  • 웹앱
  • next.js
  • cursor
  • 인공지능(ai)
soma 댓글 1 좋아요 0 조회수 344

` /home -> / ` 아니라 ` /index -> / ` 아닌가요?

미해결

React Native with Expo: 제로초에게 제대로 배우기

7.중첩 라우터와 그룹폴더의 활용 / 영상 시작 0:30 질문: ### /home -> / ### 이 아니라 ### /index -> / ### 아닌가요? 이 부분 설명에서 /home 은 실제 home 디렉토리를 찾습니다. 상위 경로에 _layout.tsx, index.tsx 가 있으면 상위 경로 index.tsx 로 이동하니까 index.tsx 파일이 설명에 부합하는거 같아서 질문드립니다. ### /index -> / ###

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
엔지개그 댓글 1 좋아요 0 조회수 70

폴링이 필요없는 이유

미해결

Next + React Query로 SNS 서비스 만들기

폴링이 필요없는 시대라고 하셨는데 그 이유가 궁금합니다

  • react
  • next.js
  • react-query
  • next-auth
  • msw
dev pple 댓글 2 좋아요 0 조회수 133

npx create-react-app

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

npx create-react-app myproject 입력하니까 무한로딩만 되고 설치가 안 돼서 yarn create react-app myproject으로 했는데도 안 되더라구요 다른 방법이 있을까요?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
댓글 1 좋아요 0 조회수 108

fetchTravelproductsIPicked 관련 질문 드립니다

미해결

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

해당 API 요청 시 사진처럼 $regex 오류 때문에 data를 받아오지 못하고 있습니다. 백엔드 문제일까요?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
mh 댓글 2 좋아요 0 조회수 109

객체 상태 다루기 정리에서

해결됨

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

불변성을 유지하기 위해 깊은 복사를 해야 한다고 설명하셨는데 스프레드 연산자는 얕은 복사아닌가요?? 왜 깊은 복사라는 표현을 사용하셨는지 궁금합니다!

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
곰코드 댓글 2 좋아요 0 조회수 56

14-08 수업 확인 요청 드립니다.

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

아래 코드는 강사님의 git에서 가져온 코드입니다. auto // [Next.js 프로젝트] // pages/blog/index.js import { useEffect, useState } from "react"; export async function getServerSideProps(context) { // http://localhost:3000 에서의 쿠키를 API 요청에 활용 const headers = { Cookie: context.req.headers.cookie, }; console.log("headers: ", headers); const url = "http://localhost:8000/blog/whoami/"; const response = await fetch(url, { headers }); const responseText = `상태코드: ${response.status} ${await response.text()}`; // props로 전달한 값이 컴포넌트의 속성값으로 주입 return { props: { message: responseText } }; } // 웹브라우저에 코드가 다운로드된 후에 수행. function WhoamiPage({ message: messageSSR }) { const [messageCSR, setMessageCSR] = useState("no message"); // 컴포넌트 초기화 시에 1회만 실행. useEffect(() => { fetch("http://localhost:8000/blog/whoami/") .then((response) => response.text()) .then((responseText) => { setMessageCSR(responseText); }); }, []); return ( <div> <h2>whoami</h2> <pre>CSR: {messageCSR}</pre> <pre>SSR: {messageSSR}</pre> <hr /> <small>by Next.js</small> </div> ); } export default WhoamiPage; 강의에선 "fetch api 에서 config 설정도 없이 protocol host 포트 번호를 제거하고 호출합니다..."라고 말씀하셨습니다. 그런데 위 코드는 protocol + host + port 번호까지 전부 적혀 있는 상태이지 않나요? 그런 이유로 해당 코드는 localhost:3000/blog에서 CORS 오류가 발생합니다. 저 코드를 사용하신 이유를 잘 모르겠어요.

  • react
  • python
  • django
  • web-api
  • htmx
bigseoul 댓글 2 좋아요 0 조회수 126

nextjs git 관리?

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

섹션 12장부터 학습한 장고 프로젝트를 git에 넣어서 관리하고 있습니다. 14장부터 next.js서버를 도입하는데, next 서버는 어떤 방식으로 git 저장소 관리를 해야할 까요? '장고+넥스트'로 함께 관리할지, 따로 관리해야 할지 몰라서 문의드립니다.

  • react
  • python
  • django
  • web-api
  • htmx
bigseoul 댓글 1 좋아요 0 조회수 101

질문 있습니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 강의 듣던 중 질문 있습니다. access token 을 넣어서 fetch 함수를 사용하고 싶은데 클라이언트 레이어에서는 정상적으로 주입한 access token이 보이는데 서버 레이어에서는 구워진 access token이 없더라고요. 혹시 짐작 가는게 있으실까요?? 감사합니다.

  • react
  • typescript
  • next.js
Milkyway 댓글 2 좋아요 0 조회수 44

[문의] 섹션 4 “미니 프로젝트로 배우는 Zustand” 업로드 일정

미해결

리액트 취준생을 위한 Zustand 실전 입문 가이드

안녕하세요. 혹시 현재 강의에서 섹션 4 “미니 프로젝트로 배우는 Zustand” 부분이 준비 중인 것으로 확인했는데, 혹시 해당 섹션은 언제쯤 업로드될 예정인지 궁금하여 문의드립니다.

  • react
  • zustand
Next 댓글 2 좋아요 3 조회수 129

프로젝트 1 카운터앱만들기에서 props로 넘겨주기 궁금한부분이잇습니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

6.3)기능 구현하기 부분에서 <Controller/>에서 <Viewer/>로 count를 넘겨주는게 불가능하다고하셨는데 const Viewer = ({ count }) => {} 로 props로 넘겨주는거 가능하지않나여 ? 그렇게 해서 잘넘어와서 카운터앱만들기 성공했는데 왜 안된다구하신건지 이렇게하면 안되는 이유가 궁금합니다! 이전강의해서 배운대로 사용했는데 이부분에서 갑자기안된다고하셔서 궁금해서 여쭤봅니다.

  • javascript
  • react
  • node.js
댓글 2 좋아요 0 조회수 99

14-07에서 SESSION_COOKIE_DOMAIN = None 처리 필요.

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

14-06수업에서 07 수업할 때 이를 주석처리하도록 의미하셨는지는 모르겠더라구요. 07수업에서 해당 내용에 대한 언급이 없어서 계속해서 localhost :3000에서 원하는 결과를 얻지 못했어요. 그래서 SESSION_COOKIE_DOMAIN을 None으로 하니까 되더라구요. (당연하게도) 다른 분들에게 도움되라구 남겨요~

  • react
  • python
  • django
  • web-api
  • htmx
bigseoul 댓글 2 좋아요 0 조회수 103

인기 태그

인프런 TOP Writers

주간 인기글