inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

/compose/tweet 바로접속(새로고침) 에도 모달창 뜨게 하기

미해결

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

안녕하세요 질문드릴게 있습니다. '/compose/tweet' 모달창은 인터셉팅 라우트 + 페럴렐 라우트로 CSR 통한 접속은 잘 모달이 뜹니다. ->(버튼을 클릭해서 모달창 뜨는 것을 말합니다.) 하지만 만약 바로 URL직접 입력했을 때 (혹은 새로고침) 할 때는 뜨지 않습니다. 인터셉팅이 되지 않으니 import Home from "@/app/(afterLogin)/home/page"; // (afterLogin)/compose/tweet export default function Page() { return <Home />; } 아마 여기서 Home에서 구현한 것만 뜨고, 모달로 구현한 것은 뜨지 않는 것 같습니다. 하지만 실제 트위터에서는 바로 모달창이 뜨는 형태로 됩니다. 어떻게 하면 새로고침/바로URL접속 에도 compose/tweet/ 모달창이 뜨게 할 지 조언을 구해봅니다. (직접 뒤에 배경 + 별도의 모달창을 바로 띄우는 생각은 했지만 다른 방식이 있는지 궁금합니다) import Home from "@/app/(afterLogin)/home/page"; import TweetModal from "../../@modal/(.)compose/tweet/page"; export default function Page() { return ( <> <Home /> <TweetModal /> </> ); } 버전은 15.3.0 입니다. 현재 사용하고 있는 폴더 구조는 아래와 같습니다. 📦src ┣ 📂app ┃ ┣ 📂(afterLogin) ┃ ┃ ┣ 📂@modal ┃ ┃ ┃ ┣ 📂(.)compose ┃ ┃ ┃ ┃ ┗ 📂tweet ┃ ┃ ┃ ┃ ┃ ┣ 📜modal.module.css ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┃ ┣ 📂[username] ┃ ┃ ┃ ┃ ┣ 📂status ┃ ┃ ┃ ┃ ┃ ┗ 📂[id] ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂photo ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂[photoId] ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜page.tsx ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜photoModal.module.css ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜default.tsx ┃ ┃ ┃ ┃ ┗ 📜default.tsx ┃ ┃ ┃ ┗ 📜default.tsx ┃ ┃ ┣ 📂[username] ┃ ┃ ┃ ┣ 📂status ┃ ┃ ┃ ┃ ┗ 📂[id] ┃ ┃ ┃ ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CommentForm.tsx ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜commentForm.module.css ┃ ┃ ┃ ┃ ┃ ┣ 📂photo ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂[photoId] ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┃ ┃ ┃ ┣ 📜page.tsx ┃ ┃ ┃ ┃ ┃ ┗ 📜singlePost.module.css ┃ ┃ ┃ ┣ 📜page.tsx ┃ ┃ ┃ ┗ 📜profile.module.css ┃ ┃ ┣ 📂_components ┃ ┃ ┃ ┣ 📜ActionButtons.tsx ┃ ┃ ┃ ┣ 📜BackButton.tsx ┃ ┃ ┃ ┣ 📜FollowRecommand.tsx ┃ ┃ ┃ ┣ 📜LogoutButton.tsx ┃ ┃ ┃ ┣ 📜NavMenu.tsx ┃ ┃ ┃ ┣ 📜Post.tsx ┃ ┃ ┃ ┣ 📜PostArticle.tsx ┃ ┃ ┃ ┣ 📜PostImages.tsx ┃ ┃ ┃ ┣ 📜RightSearchZone.tsx ┃ ┃ ┃ ┣ 📜SearchForm.tsx ┃ ┃ ┃ ┣ 📜Trend.tsx ┃ ┃ ┃ ┣ 📜TrendSection.tsx ┃ ┃ ┃ ┣ 📜followRecommend.module.css ┃ ┃ ┃ ┣ 📜logout.module.css ┃ ┃ ┃ ┣ 📜navMenu.module.css ┃ ┃ ┃ ┣ 📜post.module.css ┃ ┃ ┃ ┣ 📜rightSearchZone.module.css ┃ ┃ ┃ ┣ 📜trend.module.css ┃ ┃ ┃ ┗ 📜trendSection.module.css ┃ ┃ ┣ 📂compose ┃ ┃ ┃ ┗ 📂tweet ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📂explore ┃ ┃ ┃ ┣ 📜explore.module.css ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📂home ┃ ┃ ┃ ┣ 📂_components ┃ ┃ ┃ ┃ ┣ 📜PostForm.tsx ┃ ┃ ┃ ┃ ┣ 📜Tab.tsx ┃ ┃ ┃ ┃ ┣ 📜TabProvider.tsx ┃ ┃ ┃ ┃ ┣ 📜postForm.module.css ┃ ┃ ┃ ┃ ┗ 📜tab.module.css ┃ ┃ ┃ ┣ 📜home.module.css ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📂messages ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📂search ┃ ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┃ ┗ 📜Tab.tsx ┃ ┃ ┃ ┣ 📜page.tsx ┃ ┃ ┃ ┗ 📜search.module.css ┃ ┃ ┣ 📜layout.module.css ┃ ┃ ┗ 📜layout.tsx ┃ ┣ 📂(beforeLogin) ┃ ┃ ┣ 📂@modal ┃ ┃ ┃ ┣ 📂(.)i ┃ ┃ ┃ ┃ ┗ 📂flow ┃ ┃ ┃ ┃ ┃ ┣ 📂login ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┃ ┃ ┃ ┗ 📂signup ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┃ ┗ 📜default.tsx ┃ ┃ ┣ 📂_component ┃ ┃ ┃ ┣ 📜LoginModal.tsx ┃ ┃ ┃ ┣ 📜Main.tsx ┃ ┃ ┃ ┣ 📜SignupModal.tsx ┃ ┃ ┃ ┣ 📜login.module.css ┃ ┃ ┃ ┣ 📜main.module.css ┃ ┃ ┃ ┗ 📜signup.module.css ┃ ┃ ┣ 📂i ┃ ┃ ┃ ┗ 📂flow ┃ ┃ ┃ ┃ ┣ 📂login ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┃ ┃ ┗ 📂signup ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📂login ┃ ┃ ┃ ┗ 📜page.tsx ┃ ┃ ┣ 📜layout.tsx ┃ ┃ ┣ 📜page.module.css ┃ ┃ ┗ 📜page.tsx ┃ ┣ 📜favicon.ico ┃ ┣ 📜globals.css ┃ ┣ 📜layout.tsx ┃ ┗ 📜not-found.tsx ┣ 📂components ┃ ┗ 📜RecordChangePathComponent.tsx ┗ 📂util ┃ ┗ 📜getBeforePath.ts

  • react
  • next.js
  • interceptingroute
  • parallelroute
피곤한개발자 댓글 2 좋아요 0 조회수 151

pnpm install is not found 오류

해결됨

Next.js와 yolov11로 화재감지 시스템 구축하기

훤@□□□□ MINGW64 /c/LeeHwon/FlameGuard/FlameGuard/frontend (main) $ pnpm install bash: pnpm: command not found 이렇게 안 뜨는 이유가 무엇일까요..

  • react
  • python
  • next.js
  • FastAPI
  • yolo
댓글 2 좋아요 0 조회수 1143

Js 문자열 헷갈립니다ㅠ

해결됨

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

js 공부중인데 여기서 aa 와 "aa"결과값이 다르게 나오는데 1.이유가 뭔가요? 2.둘 차이점이 뭔가요? 자세하게 부탁드립니다 ㅠㅠ

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

@OneToOne, @OneToMany만 가능한 이유

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. 강의와 강의 자료를 보는 도중, 강의 자료에 있는 고아객체 - 주의 부분에서, @OneToOne, @OneToMany만 가능한 이유 에 대해서는 특별히 설명을 안해주신거 같아서요.. 혹시 @OneToOne, @OneToMany만 가능한 이유가 무엇인지 알 수 있을까요? 감사합니다.

  • java
  • jpa
오리쉐리 댓글 2 좋아요 0 조회수 128

17분05초 업캐스팅과 출력 순서에서

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

X y = new Y(); 여기서 태어날때 생성자가 없어서 무시해도 된다는게 생성자가 있는지 없는지 보는 기준 모르겠어요 헷갈려서 ..

  • python
  • java
  • c
  • 정보처리기사
민혁 댓글 2 좋아요 1 조회수 69

노션에서 즐겨찾기가 안됩니다.

해결됨

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

수업 노트 보기에서 노션에 들어가면 따로 즐겨찾기를 할 수 있는 기능이 없는데 어떻게 해야 되나요?

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

java 업캐스팅 and 그냥 생성

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

단순한 java 질문인데 만약 부모, 자식 class가 있고, 자식이 부모를 상속받고 생성할때 오직 업캐스팅 형태에서만 자식 생성자를 생성할 때 부모 생성자를 만들고 생성하는 건가요? 아니면 업캐스팅이 아닌 일반적으로 자식 생성자를 생성할때도 부모 생성자를 불러서 생성해야 하나요?

  • python
  • java
  • c
  • 정보처리기사
gudwls5225 댓글 2 좋아요 0 조회수 83

안녕하세요 PaymentConfig 질문드립니다.

미해결

토비의 스프링 6 - 이해와 원리

13:39에 28라인에 return new WebApiExRateProvider(apiTemplate()); 가 아니라 return new WebApiExRateProvider(apiTemplate()); 로 작성되야지 의도대로 코드가 작동하는 것이 아닌지 문의드립니다.

  • java
  • spring
댓글 2 좋아요 0 조회수 120

4분 50초 경 나온 23년 2회 기출문제 관련

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

혹시 문제 중에 // 천원짜리 4장 출력 등의 설명까지 같이 기출이 된 부분일까요? 아님 주말코딩님께서 우리 이해하기 쉬우라고 설명을 적어주신걸까요?

  • python
  • java
  • c
  • 정보처리기사
남찬우 댓글 1 좋아요 0 조회수 69

17:29 포인터 변수와 출력관련 질문입니다

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

오른쪽 코드에서 s가 포인터 변수로 선언이 되었으면 값을 출력할 때 *s[0]으로 써야하지 않나요?

  • python
  • java
  • 정보처리기사
dbndus0024 댓글 2 좋아요 0 조회수 77

이론 pdf 다운로드 경로가 어떻게 되나요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

강의소개에 있는 pdf파일을 찾으려는데, 암만 찾아도 보이지 않습니다. 인프런 아이디(이메일)에도 없는데 어디서 다운로드 가능한가요?

  • python
  • java
  • c
  • 정보처리기사
직녀 댓글 3 좋아요 0 조회수 106

이론 파트는 어떻게 공부해야되는건가요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

코드 파트는 잘 이해하고 공부 진행 했는데 이론파트 첫 강의부터 영상이 아닌 페이지라서 어떻게 공부를 해야될지 길을 잃은 느낌입니다. 이론 섹션에 들어갈때 첫 영상으로 어떻게 공부해야되는지 설명이라도 해주셨으면 좋았을 거 같습니다.. PDF랑 페이지랑 안에 내용은 또 다른 내용이라 더 혼란스럽습니다. 페이지를 가볍게 이해하고 PDF 파일을 외우라는 의도인지 아니면 둘 다 외우라는 의도인지 궁금합니다. 첫 페이지를 들어가보면 "요구사항 분석 챕터에서 중요한 부분 정리" 라고 적혀있으나 받아들이는 입장에서 중요한 부분인데 왜 PDF에는 이거에 관한 내용이 없는거지? 이 두개의 차이점은 뭐지? 라는 생각이 듭니다.

  • python
  • java
  • c
  • 정보처리기사
sbd 댓글 2 좋아요 0 조회수 227

익스텐션 질문

해결됨

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

안녕하세요 설치된 익스텐션이 궁금하여 질문드립니다. 17:20에 return문에 h1태그를 추가하고 저장하시니까 ()가 자동으로 감싸지는데 어떤 익스텐션을 설치해야하나요? 아니면 어떤 설정을 해야하나요?

  • react
  • typescript
  • next.js
김보섭 댓글 1 좋아요 0 조회수 114

섹션2 강의자료

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요 선생님 섹션2 마지막 강의 3개(함수 선언과 호출, 연산자와 기출문제, switch-case문) 강의자료가 없는데 원래 없는건지 문의드립니다.

  • python
  • java
  • c
  • 정보처리기사
knh6765 댓글 2 좋아요 0 조회수 62

이론 pdf

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 최근까지 시험 계속 본 사람인데요ㅜ 요즘 문제가 예를 들어서, 문제 : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법 설명 보기 : ㄱ. Equivalence Partitioning, ㄴ. Boundary Value Analysis 답 : ㄱ 이렇게 보기가 영어로 나올때가 있는데 블랙박스테스트는 영어로 단어가 설명 안되어있어요ㅠ 근데 지피티한테 물어봐도 영어를 모르겠어서여ㅜㅜ 제가 책은 없고 선생님 자료로 수강중이라 이론 자료에 영어 단어도 부탁드립니다ㅜㅜ

  • python
  • java
  • c
  • 정보처리기사
댓글 2 좋아요 0 조회수 127

7.1 서버 액션에서

해결됨

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

import style from "./page.module.css"; // 변경 후: import Image from 'next/image'; import { notFound } from "next/navigation"; import { BookData } from "@/types"; export const dynamicParams = true; export async function generateStaticParams() { return [{id: "1"}, {id: "2"}, {id: "3"}]; } async function BookDetail({bookId}:{bookId:string}){ // params가 Promise이므로 먼저 await로 해결(resolve)해야 합니다 const response = await fetch(`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${bookId}`) ; if (!response.ok){ if (response.status === 404) { notFound(); } return <section>Failed to fetch books</section>; } const book = await response.json(); const { id, title, subTitle, description, author, publisher, coverImgUrl } = book; return ( <section> <div className={style.cover_img_container} style={{ backgroundImage: `url('${coverImgUrl}')` }} > <img src={coverImgUrl} alt={title || "책 표지"} /> </div> <div className={style.title}>{title}</div> <div className={style.subTitle}>{subTitle}</div> <div className={style.author}> {author} | {publisher} </div> <div className={style.description}>{description}</div> </section> ); } function ReviewEditForm() { async function createReviewAction(formData: FormData) { "use server"; //console.log("server action called"); const content = formData.get("content")?.toString(); const author = formData.get("author")?.toString(); console.log("server action called", { content, author }); } return ( <section > <h2>리뷰 작성</h2> <form action={createReviewAction}> <textarea name="content" placeholder="리뷰를 작성해주세요" ></textarea> <input name="author" placeholder="작성자" /> <button type="submit">리뷰 작성</button> </form> </section> ); } export default function Page({ params }: { params: { id: string } }) { // const bookId = params.id; // 미리 params 처리 return ( <div className={style.container}> <BookDetail bookId={params.id}/> <ReviewEditForm/> </div> ) } 에서 Error: Route "/book/[id]" used `params.id`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at Page (src\app\book\[id]\page.tsx:79:33) 77 | return ( 78 | <div className={style.container}> > 79 | <BookDetail bookId={params.id}/> | ^ 80 | <ReviewEditForm/> 81 | </div> 82 | ) 이에러가 계속 나는데 chatgpt랑 계속 풀어 보려고 해도 쉽지 않네요 params 쓰는 시점 문제인거 같은데 강의 내용을 봐서는 잘모르겠네요 export default function Page({ params }: { params: { id: string } }) { // const bookId = params.id; // 미리 params 처리 return ( <div className={style.container}> <BookDetail bookId={params.id}/> <ReviewEditForm/> </div> ) } bookId 이 부분이 계속 async 어쩌구 하는데

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

이론 파트

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요 강사님 이제 이론 파트로 넘어왔는데 PDF 파일이랑 수업자료 파일이랑 내용이 달라서 어떤걸 기준으로 봐야되는걸까요? 같은 내용인줄 알았는데 제목만 같고 안에 내용이 좀 달라서 질문 드립니다.

  • python
  • java
  • c
  • 정보처리기사
sbd 댓글 2 좋아요 0 조회수 172

게시글 목록 최적화 전략 구현 - 테스트 에서 오류가 발생합니다

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 거의 막바지에 이르러서 테스트 부분을 들으려 하고 있습니다 테스트 부분에서 강의 코드와 같이 맞춰 보아도 에러가 발생하여 어떤 에러인지 감이 잘 잡히지 않아 질문드립니다. 최하단에 에러 로그를 첨부합니다. 저장소의 완성 코드 파라미터대로 하면 성공하지만, 강의대로 하면 에러가 납니다 이것은 저장소의 완성본 코드이고 @Test void readAllTest() { ArticleReadPageResponse response1 = articleReadRestClient.get() .uri("/v1/articles?boardId=%s&page=%s&pageSize=%s".formatted(1L, 3000L, 5)) .retrieve() .body(ArticleReadPageResponse.class); System.out.println("response1.getArticleCount() = " + response1.getArticleCount()); for (ArticleReadResponse article : response1.getArticles()) { System.out.println("article.getArticleId() = " + article.getArticleId()); } ArticleReadPageResponse response2 = articleRestClient.get() .uri("/v1/articles?boardId=%s&page=%s&pageSize=%s".formatted(1L, 3000L, 5)) .retrieve() .body(ArticleReadPageResponse.class); System.out.println("response2.getArticleCount() = " + response2.getArticleCount()); for (ArticleReadResponse article : response2.getArticles()) { System.out.println("article.getArticleId() = " + article.getArticleId()); } 이것은 에러가 발생하는 강의의 코드입니다. @Test void readAllTest(){ ArticleReadPageResponse response1 = articleReadRestClient.get() .uri("/v1/articles?boardId=%s&page=%s&pageSize=%s".formatted(1L, 1L, 5)) .retrieve() .body(ArticleReadPageResponse.class); System.out.println("response1 = " + response1); for (ArticleReadResponse article : response1.getArticles()) { System.out.println("article.getArticleId() = " + article.getArticleId()); } ArticleReadPageResponse response2 = articleRestClient.get() .uri("/v1/articles?boardId=%s&page=%s&pageSize=%s".formatted(1L, 1L, 5)) .retrieve() .body(ArticleReadPageResponse.class); System.out.println("response2 = " + response2); for (ArticleReadResponse article : response2.getArticles()) { System.out.println("article.getArticleId() = " + article.getArticleId()); } } 이것은 에러 로그입니다 (본문 제한으로 부득이하게 이미지로 첨부합니다)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
woo 댓글 2 좋아요 0 조회수 174

서버컴포넌트를 children으로 사용해도, 브라우저에서 출력이 되는 것 같습니다.

해결됨

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

3.5) 리액트 서버 컴포넌트 주의사항 강의의 12분 쯤 - 서버 컴포넌트를 클라이언트 컴포넌트의 children props로 사용하면, 브라우저에서 서버컴포넌트가 렌더링 되지 않는 걸 보여주는 예시에서요. (with-searchbar)/page.tsx1 (with-searchbar)/client-component.tsx (with-searchbar)/server-component.tsx 현재 잘 따라한거 같은데, 서버 컴포넌트가 브라우저에 출력이 되더라구요. 서버 컴포넌트로서 출력이 된거 같긴한데. 브라우저에서 서버 컴포넌트가 보이면 안되는 거 아닌가 싶은데, 현재 next 15.3 이라서 그런건가 싶기도 하구요!

  • react
  • typescript
  • next.js
파미에스테이션 댓글 2 좋아요 1 조회수 220

인기 태그

인프런 TOP Writers

주간 인기글