inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

5.5 클라이언트 라우트 캐시

해결됨

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

안녕하세요 :) 설명을 해주실때 페이지에서 공통된 layout에 있는 RSC 페이로드만 클라이언트 라우터 캐시에 저장이 된다고 이해를 했는데 만약 layout.tsx 클라이언트 컴포넌트가 있는 경우라면 해당 클라이언트 컴포넌트의 React 코드(JS Bundle)를 서버로 다시 요청을 하는 건가요? 강의에서 설명을 하신대로 만약 루트레이아웃, 서비바 레이아웃 이렇게 있을때 만약 서치바 레이아웃에 클라이언트 컴포넌트가 포함이 되어 있다면 해당 서치바 레이아웃 코드가 클라이언트 라우터 캐시에 저장이 되는지, 아니면 클라이언트 컴포넌트가 섞여있을때는 해당 레이아웃은 클라이언트 라우트 캐시에 저장이 안되는지 궁금합니다

  • react
  • typescript
  • next.js
원피스를 찾아서 댓글 2 좋아요 0 조회수 186

Factory Constructor를 언제 사용하나요?

해결됨

[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스

자바스크립트 class문법에서 Factory Constructor를 언제 사용하나요? 일반 Constructor이 있는데 왜 사용하는지 모르겠어요. 예시가 있을까요?

  • javascript
2145007 댓글 2 좋아요 0 조회수 248

chapter13(promise)부터 이해가 잘 안됩니다..ㅠ

해결됨

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

설명은 너무나도 잘해주시는데 제가 아직 부족해서 그런지 이해가 잘 되지않습니다.. promise를 실제 프로젝트에서 어떻게 적용하는지도 감이 안잡히고, 어떨 때 사용하는지도 잘 모르겠습니다..ㅠㅜ

  • javascript
  • react
  • node.js
mandoo 댓글 2 좋아요 1 조회수 227

풀라우트 캐시1 ISR 방식 질문

해결됨

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

5.1 풀라우트 캐시 강의를 듣다가 궁금한 점이 있습니다. Dynamic 페이지는 fetch 메서드에 캐시옵션이 없을때 적용이된다고 말씀하셨는데 후반부에 revalidate 옵션이 붙었을때는 스태틱 페이지라도 일정 시간 간격으로 풀 라우트 캐시를 업데이트 해준다. 라고 설명해주셨는데요, 그렇다면 fetch 메서드에 캐시옵션이 없을때와 revalidate 옵션을 넣었을때는 스태틱 페이지로 설정이 된다. 라고 이해하면 되는걸까요? 아 제가 잘못 생각했었습니다. 이해 했습니다.

  • react
  • typescript
  • next.js
한나릴 댓글 2 좋아요 0 조회수 279

부모에서 자식에게 props 전달할 때

해결됨

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

Controller.propTypes = { count: PropTypes.number.isRequired, // count가 숫자형으로 필수 buttonClick: PropTypes.func.isRequired, // buttonClick이 함수형으로 필수 }; 전 위와같은 코드를 작성하지 않으면 props가 missing이라는 오류가 뜹니다. 혹시 이유를 알 수 있을까요?

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

VDM을 몇 번을 다시 했는데 잘 안됩니다.

해결됨

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

나머지는 다 잘되는데 마지막 안드로이드 VDM에서 막혀서 연동이 실패가 나고 있습니다 제 나름대로 찾아보고 3번을 다시 했는데 안됩니다. 제가 뭘 놓치고 있는지 모르겠습니다.

  • javascript
  • react
  • node.js
  • react-native
  • typescript
Mr.Everything 댓글 2 좋아요 0 조회수 162

카운터앱 강의 - state대신 ref

해결됨

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

강의 6.3) 기능구현하기 카운트 컴포넌트를 state로 만들어야 한다고 하셨는데 state대신 ref를 사용하면 어떻게 되나요? ref는 리렌더링을 유발하지는 않지만 dom에 접근이 가능한 걸로 알고 있습니다. 그렇다면 ref를 사용해도 무방하지 않냐는 것이 저의 생각입니다. ref를 사용한다면 ui변경이 가능하지만 리액트가 그 수정을 감지 못하는 문제가 생겨서 state를 사용하는 것인가요?

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

set에 대해서 궁금증.

해결됨

웹 애니메이션을 위한 GSAP 가이드 Part.02

tl.set('#emart .pick', { opacity: 0 }) .to(map, { scale: 1, x: 0, y: 0 }) .set('#emart .pick', { opacity: 1 }) .fromTo('#emart .path', { strokeDashoffset: 496 }, { strokeDashoffset: 0 }) .to( '#emart .pick', { motionPath: { path: '#emart .path', align: '#emart .path', alignOrigin: [0.5, 0.5], }, }, '<' ); 위 코드에서 맨 처음 set 으로 opacity: 0 을 줘서 pick을 안 보이게 한 다음에 후에 다시 set으로 opacity: 1을 주게 되는데요 궁금한 것이 아직 순서상 motionPath 가 실행될 차례가 아니어서 마트 위치에서 pick 이 보여질 것인데 어째서 강남역 위치에서 부터 보여 지게 되는지 궁금합니다. 아래에 있는 set을 위로 올려서 tl.set('#emart .pick', { opacity: 0 }) .set('#emart .pick', { opacity: 1 }) .to(map, { scale: 1, x: 0, y: 0 }) 이렇게 위치를 바꾸면 그때서야 제가 이해한 형태로 움직이게 되네요. 왜 그런지 궁금합니다.

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
  • gsap
kkamidog 댓글 2 좋아요 1 조회수 212

set에 대해서

해결됨

웹 애니메이션을 위한 GSAP 가이드 Part.02

해당 편 강의를 들어보면 set을 어디선가 사용한 것 같이 설명을 해주시는데 혹시 정확히 어느 파트로 가야 set 사용한걸 볼 수 있을까요?

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
  • gsap
댓글 2 좋아요 1 조회수 171

gsap.set 은 어디에서 처음 배우는가요?

해결됨

웹 애니메이션을 위한 GSAP 가이드 Part.02

안녕하세요. 수업 너무 잘 듣고 있습니다 ^^ gsap.set 은 어디에서 처음 배우는가요? 베이직 편도 다 봤는데 제가 놓친것인지.. 그리고 나중에 svg 편이 새로 출시되는 계획이 있는걸까요~?

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
  • gsap
kkamidog 댓글 2 좋아요 2 조회수 239

앱라우터와 rc버전 & next.js

해결됨

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

섹션04 이후 진행되는 app 라우터 강의에 rc버전을 설치 section04 이후 강의 중 next 14버전(latest)에서 사용하지 못하는 부분이 있을까요??? 그렇다면 어떤 것들이 있을까요? 강의를 바탕으로 개인 블로그를 만들어 배포해 볼 생각인데 rc버전을 활용하는 것에 문제는 없을까요?? next 강의를 들으며 느낀것이 최대한 dynamic한 사이트(페이지)들을 최대한 static하게 만들면서도 dynamic하게 만드는 것. <<< 이것이 next의 핵심 이라고 느껴지는데 제가 이해한 부분이 맞을까요??

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

resize handler에서 질문이 있습니다.

미해결

인터랙티브 웹 개발 제대로 시작하기

본 강의에서는 resize 핸들러를 사용해서 구성이 되었는데, (function () { const houseElem = document.querySelector(".house"); window.addEventListener("scroll", function () { const maxScrollValue = document.body.offsetHeight - window.innerHeight; const zIndex = (pageYOffset / maxScrollValue) * 880 - 900; houseElem.style.transform = `translateZ(${zIndex}vw)`; }); })(); 이런식으로 scroll 이벤트 내부에 maxScrollValue를 사용하면 화면이 height이 변경되더라도 문제가 없는게 아닐까 생각이 되서요! 여러가지 방법이 있을 수 있겠지만 scroll 이벤트 안에 넣은게 아닌 resize 이벤트에 넣은 이유가 maxScrollValue이 재사용성될 가능성이 있기 때문일까요??

  • HTML/CSS
  • javascript
  • 인터랙티브-웹
서재완 댓글 1 좋아요 0 조회수 135

태그 궁금한 점

해결됨

[코드캠프] 시작은 프리캠프

div와 span 태그 간의 차이점은 알겠는데 p태그와 div,span태그 간의 차이가 있나요? 어떤 기준으로 선택하여 사용하면 될까요? input 태그 내에서 value를 사용할 때 value가 하는 역할이 무엇인지 궁금합니다!

  • HTML/CSS
  • javascript
Erica 댓글 2 좋아요 0 조회수 199

hooks console

미해결

처음 만난 리액트(React)

hook 실습중인데 강의에선 클릭했을때만 콘솔이 찍히는거같은데 저는 console이 계속 찍힙니다. ㅜㅜㅜ

  • HTML/CSS
  • javascript
  • react
ahj0156 댓글 2 좋아요 1 조회수 160

27.함수(리턴) sum 함수 vs sum2 함수

미해결

WEB2 - JavaScript

function sum2(left, right){ return left+right; } document.write(sum2(2,3)+'<br>'); document.write('<div style="color:red">'+sum2(2,3)+'</div>'); document.write('<div style="font-size:3rem;">'+sum2(2,3)+'</div>'); sum2 함수의 출력 결과와 아래 sum1 함수의 출력 결과가 다른 이유를 알고 싶습니다. function sum(left, right){ document.write(left+right+'<br>'); } document.write(sum(2,3)+'<br>'); document.write('<div style="color:red">'+sum(2,3)+'</div>'); document.write('<div style="font-size:3rem;">'+sum(2,3)+'</div>'); sum도 똑같이 출력해봤는데, 중간에 undefined가 함께 출력되더라고요. 확인해보니 리턴값이 없는 경우에 udefined가 출력된다고 하던데, 그 이유가 궁금합니다. 이전 26강 실습에서는 다음과 같이 출력했을 때 아무 문제 없었는데, 무엇이 다른걸까요? 한번 write한걸 다시 write하는 과정에서 생기는 문제인걸까요? onePlusOne(); function sum(left, right){ document.write(left+right+'<br>'); } sum(2,3); // 5 sum(3,4); // 7

  • javascript
  • return
  • function
후니(루트) 댓글 1 좋아요 0 조회수 206

서버 액션를 통한 API 통신 시 쿠키 제어

미해결

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

안녕하세요. 강의를 보면서 NextAuth 없이 fetch 을 커스텀 함수로 구현 후 서버 액션에서만 호출하는 방식으로 구현해보고 싶어서 진행하고있습니다. 로그아웃 기능을 구현 중 토큰이 만료되었을때(API 호출 시 401 오류 발생으로) 쿠키를 제거하는 로직을 추가하였는데, 서버 액션에서만 가능하다는 오류가 발생합니다. 수동으로 로그아웃시에는 정상적으로 토큰이 제거되고, 정상적으로 로그인 페이지로 이동됩니다.. 정확한 상황은 페이지 진입 시 토큰 만료된 경우 middleware 에는 토큰이 있기때문에 페이지에 진입되고, API 호출 시 401 오류가 발생하고 쿠키 삭제 후 로그인 페이지로 리다이렉트되는데, 이때 middleware 상에는 토큰이 존재합니다.. 보통 자동 로그아웃 시 middleware 에서 쿠키 만료기간을 확인하고 제거하는 방식을 사용하는지, 저와 같이 해도 정상적으로 동작되어야하는건지 어떻게 접근해야될지 모르겠습니다 ㅠㅠ

  • react
  • next.js
  • react-query
  • next-auth
  • msw
해리 댓글 2 좋아요 0 조회수 225

CRA에서 Next.js로 마이그레이션하기에서 compilerOptions.moduleResolution bundler 불가

해결됨

손에 익는 Next.js - 마이그레이션하기

안녕하세요. FatalError: error TS6046: Argument for '--moduleResolution' option must be: 'node', 'classic', 'node16', 'nodenext'. CRA에서 Next.js로 마이그레이션하기에서 강의를 모두 따라한 뒤 'npm run dev'를 실행하면 위 오류가 발생합니다. 찾아본 결과 TypeScript 버전이 5 이상이어야 tsconfig.json의 compilerOptions.moduleResolution에 bundler 값을 사용할 수 있는 것 같습니다. 하지만 react-scripts에 요구되는 typescript의 버전은 "^3.2.1 || ^4"입니다. TypeScript를 5버전으로 올리면 lint 경고가 발생할 테니, compilerOptions.moduleResolution는 node 또는 nodenext로 설정하는 것이 현재 상황에서는 바람직하지 않나요?

  • react
  • next.js
  • vitejs
yjkim325 댓글 1 좋아요 0 조회수 262

강의 깃주소 문의

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

안녕하세요 강의를 듣다가 css를 복사하고싶은데 강의 첫장 레포짓토리 주소 들어가면 프로젝트가 없네요 어디서 확인할수있나요 ?

  • javascript
  • vue.js
  • es6
  • vuex
김소련 댓글 1 좋아요 0 조회수 166

데이터베이스 이해와 실습 관련 오류 질문

미해결

기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]

안녕하세요~ 데이터베이스 이해와 실습 CRUD 실습을 진행하다가 오류로 인하여 다음차시 진행이 불가하여 질문드립니다. PS C:\Users\폴더이름\Desktop\database> node db.js Error: querySrv ENOTFOUND _mongodb._ tcp.cluster0.mongodb.net at QueryReqWrap.onresolve [as oncomplete] (node:internal/dns/promises:291:17) { errno: undefined, code: 'ENOTFOUND', syscall: 'querySrv', hostname: '_mongodb._ tcp.cluster0.mongodb.net ' 관련하여 챗GPT에 오류 내용을 검색해본 후 원인 및 해결방법에 대해 아래 내용을 얻을 수 있었는데요 인터넷 연결 확인: 인터넷 연결이 정상적으로 이루어지고 있는지 확인하세요. 특히, 네트워크에 제한이 있거나 프록시 서버를 사용하는 경우 문제가 발생할 수 있습니다. DNS 설정 문제: DNS 설정 문 제로 인해 _mongodb._tcp.cluster0.mongodb.net 도메인이 해결되지 않을 수 있습니다. DNS 서버를 Google Public DNS(8.8.8.8, 8.8.4.4)로 변경하여 문제가 해결되는 지 확인해보세요. Windows에서 DNS 설정 변경 방법: 제어판 > 네트워크 및 인터넷 > 네트워크 및 공유 센터 > 어댑터 설정 변경 으로 이동합니다. 사용 중인 네트워크 연결을 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택합니다. 인터넷 프로토콜 버전 4 (TCP/IPv4) 를 선택한 후 속성 을 클릭합니다. 하단에 있는 다음 DNS 서버 주소 사용 을 선택하고, 8.8.8.8 과 8.8.4.4 를 입력합니다. 설정을 저 장하고 다시 시도해보세요. MongoDB Atlas의 클러스터 주소 확인: cluster0.mongodb.net 이 아니라 클러스터의 정확한 호스트명을 사용하고 있는지 확인하세요. MongoDB Atlas에서 클러스터의 연결 문자열을 다시 복사하여 확인하세요. Atlas UI에서 데이터베이스 > Connect > Connect Your Application을 선택하고, 제공된 연결 문자열을 확인하세 요. 예를 들어: bash 코드 복사 mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority useUnifiedTopology 옵션 사용: 최신 버전의 MongoDB 드라이버를 사용하고 있는지 확인하고, useUnifiedTopology 옵션이 활성화되어 있는지 확인하세요. javascript 코드 복사 const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); 방화벽 또는 네트워크 제한: 회사 네트워크나 특정 ISP에서 DNS 쿼리 또는 MongoDB Atlas에 대한 연결을 제한할 수 있습니다. 이런 경우, 다른 네트워크(예: 휴대폰 핫스팟)에서 시도해보거나, 네트워크 관리자에게 문의하세요. SRV 레코드 대신 표준 연결 문자열 사용: SRV 레코드( mongodb+srv:// ) 대신 표준 MongoDB 연결 문자열( mongodb:// )을 시도해보세요. SRV 레코드를 지원하지 않는 네트워크 환경에서 표준 연결이 문제를 해결할 수 있습니다. 현재 회사에서 지급한 노트북으로 진행하여 보안상 문제가 있어 작업이 불가한건지.. 위 내용을 읽어봐도 명확하지 않아 질문드립니다.

  • HTML/CSS
  • javascript
  • vue.js
  • node.js
  • mongodb
  • 소프트스킬
yeji.kim27 댓글 1 좋아요 0 조회수 239

사전 렌더링, SSR 질문

해결됨

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

사전렌더링에서 설명해주신 저 일련의 과정들이 SSR, ISR, SSG 모두 공통적으로 동일하게 해당하나요?

  • react
  • typescript
  • next.js
방황하는물고기 댓글 1 좋아요 0 조회수 219

인기 태그

인프런 TOP Writers

주간 인기글