게시글
질문&답변
7:17초 업캐스팅 질문이있습니다!
안녕하세요 이상민님 이정환입니다.c = d에서 말씀드린 업캐스팅은, 함수 타입 전체가 아닌 매개변수의 타입 관계를 기준으로 설명 드린 것입니다. 함수 타입간의 업, 다운 캐스팅 관계를 말씀 드린것은 아니었습니다
- 0
- 1
- 18
질문&답변
[staleTime 설정] 새로고침 시 로딩 중 대신 에러 메세지 출력
안녕하세요 이정환입니다.아래에 설정하신 이 조건문 대로라면 로딩중일 때 !data 조건이 참이되어 "로딩 중 입니다..."라는 텍스트가 렌더링 되지 않게 됩니다.(사진) 따라서 강의에서 안내해 드린 것과 같이 그 아래에 수정하신 조건문으로 사용하시는걸 권장드립니다!
- 0
- 2
- 40
질문&답변
Zustand 사용 중 컴포넌트 리렌더링 관련 질문
안녕하세요 이정환입니다,.네 전반적으로 맞게 이해하셨습니다. 여기서 한가지 중요한 포인트는 Store 전부를 가져다 쓸 경우 Store중 하나의 값이라도 변경되면 리렌더링 되지만, Store로부터 하나의 값만 불러다 쓰는 경우 해당 값이 변경될 때에만 리렌더링이 발생한다는 점 입니다!이를 이용해 불필요한 값은 불러다 쓰지 않게 함으로써 불필요한 리렌더링을 방지할 수 있습니다
- 0
- 1
- 35
질문&답변
forget-password 이후 reset password 이메일이 오지 않네요.
안녕하세요 억수님 이정환입니다.네트워크 탭에서 이메일 발송 API가 성공적으로 처리 되었나요?그렇다면 우선 해당 이메일의 스팸이나 프로모션 함을 확인해보시면 좋을 것 같습니다.그래도 안되면 전체 프로젝트 코드를 깃허브 혹은 구글 드라이브로 전달해주시면 살펴보겠습니다.PS. localhost:3000이 아닌 localhost:5173으로 설정해보셔도 도움이 될 것 같아요!
- 0
- 2
- 34
질문&답변
tailwind css / sass 사용율? 에 대해서 궁금합니다
안녕하세요 이정환입니다.우선 국내 현업에서 어떤 도구가 더 많이 사용되는지는 정확히 알기 어렵습니다 ㅠㅠ워낙 팀마다, 사람마다 다르기 때문에 ...통계를 통해 답변드리자면 StateofCSS의 조사 결과 2024년 가장 많은 사용률을 기록한 CSS도구는 TailwindCSS라고 하더라구요!(사진) 국내에서도 아마 해외와 비슷한 추세이지 않을까 추정됩니다!
- 0
- 2
- 38
질문&답변
4.6 useMutation 관련 질문 !
안녕하세요 이정환입니다.네 정확히 맞습니다. createTodo 라는 비동기 함수가 수행하는 API 요청의 과정에서 관리해야 할 상태(로딩 상태, 에러 상태, 완료 상태)등을 의미합니다.
- 0
- 2
- 41
질문&답변
수강생 디스코드 커뮤니티 관련 질문
안녕하세요 이정환입니다.현재 디스코드 서버는 장기적으로 카페로 대체될 예정입니다 ㅠㅠ그럼에도 참여하길 원하신다면 아래의 링크로 참여하시면됩니다.https://discord.gg/EZq92pzx
- 0
- 1
- 14
질문&답변
page 컴포넌트명을 동일하게 Page 로 짓는 이유가 있나요?
안녕하세요 이정환입니다.컴포넌트의 이름이나 파일명의 규칙은 어디까지나 팀이나 개인의 스타일에 따라 정해지는 것이므로 정답은 없습니다. 따라서 원하신다면 그렇게 명명하셔도 상관없습니다. 강의에서 이렇게 명명하지 않은 이유는 여러가지 인데요 첫째로는 페이지 라우터에서는 파일의 이름과 경로 자체가 이미 페이지의 역할과 경로를 명확히 설명해주기 때문입니다. 예를 들어, pages/index.tsx는 루트 경로(/)를, pages/search.tsx는 /search 경로를, pages/book/[id].tsx는 /book/:id 경로를 담당합니다. 즉, 파일의 위치와 이름이 이미 라우트를 표현하기 때문에, 내부 함수 이름까지 SearchPage나 BookDetailPage로 구체화하는 것은 중복적인 표현이 됩니다. 또한 Next.js는 내부적으로 페이지를 인식할 때 파일의 기본 내보내기(default export)만 사용하기 때문에, 함수 이름 자체에는 아무런 제약이나 의미가 없습니다. 다시 말해, 함수 이름을 Page로 하든 SearchPage로 하든 실제 동작에는 차이가 없습니다. 이런 이유로 공식 예제나 대부분의 프로젝트에서는 페이지 컴포넌트를 단순히 function Page() 혹은 export default function Page()로 통일하는 방식을 사용합니다. 이렇게 하면 일관성이 유지되고, 파일 경로만 봐도 어떤 페이지인지 쉽게 파악할 수 있어 코드 가독성도 높아집니다. 반면 layout의 경우에는 상황이 다릅니다. layout은 여러 페이지에서 공통으로 사용되거나 중첩되어 적용되기 때문에, RootLayout, DashboardLayout, AuthLayout처럼 명시적인 이름을 붙이는 것이 유지보수에 도움이 됩니다. 그러나 page 컴포넌트는 파일 구조상 고유한 위치를 가지므로, 중복이나 혼동의 여지가 없고 단순히 Page 하나로 통일하는 것이 가장 간결하고 자연스러운 패턴입니다.
- 0
- 2
- 27
질문&답변
별도의 CSS 파일을 styles 폴더에 작성하면 안되나요?
안녕하세요 이정환입니다.결론부터 말하자면 별도의 CSS 파일을 styles 폴더에 작성해도 전혀 문제 없습니다. 다만, Next.js에서 styles 폴더가 기본적으로 존재하는 이유는 “프로젝트 초기 구조를 단순화하기 위한 기본 예시용 디렉토리”에 가깝습니다. 실제로는 반드시 그 안에만 스타일 파일을 작성해야 하는 건 아닙니다.실제로는 강의에서 안내드리고 있듯이 컴포넌트 단위로 CSS 파일을 관리하는게 더 일반적입니다. 이렇게 하면 컴포넌트와 스타일을 같은 폴더 안에 묶어서 관리할 수 있어서 유지보수성이 좋아집니다.그렇다면 styles 폴더의 역할은 무엇이냐 궁금해 하실 수 있는데요, 보통은 globals.css, reset.css, variables.css 같은 전역 스타일 시트를 모아두고 싶을 때 또는 디자인 시스템 수준에서 색상, 폰트, spacing 등을 관리할 때 등의 전역 스타일 전용 저장소로 사용하곤 합니다.
- 0
- 2
- 22
질문&답변
페이지 라우터 프로젝트 생성을 버전 15로 하여도 되나요?
안녕하세요 이정환입니다15버전으로 생성하셔도 무방합니다. 다만! 15버전으로 업그레이드 하실 경우 강의가 진행되는 환경과 일부 차이(설정 파일의 형태 등)가 발생할 수 있기 때문에 가급적 Page Router를 사용하실 때에는 14버전을 이용하시는 걸 권장드립니다.
- 0
- 2
- 19




