next.js에서의 fetch는 fetch api와 다른 것과, cache: 'no-store'를 사용하면 getServerSideProps를 사용한 것과 동일한 것도 이해를 했습니다. 근데 만약 fetch를 사용하지 않고 axios를 사용한다면 어떤 차이점이 있는지 궁금합니다. 질문 : axios를 사용하면 next.js에서 어떻게 SSR 처리가 되는 걸까요? (next.js fetch를 쓰지 않는데 어떻게 SSR이 처리가 되는지)
안녕하세요 제로초님! 강의 들으면서 개인 프로젝트에 적용 중입니다! 현재 로그인 기능 구현을 시도하고 있고, 백엔드 API는 개인적으로 이미 구현이 되어있는 상황입니다. 로그인 구현 방식은 강의 내용과 동일하게 진행하고 있는데요, 아이디 또는 비밀번호가 틀렸을 때 authResponse.ok 가 false로 반환되어 아래처럼 에러를 던져주고 있는데, 이 에러의 에러메시지가 터미널에서는 확인이 됩니다. 근데 저 에러 메시지를 로그인을 요청하는(onSubmit 함수가 있는) 클라이언트 컴포넌트에서 확인을 하고 싶은데 next-auth signIn 요청시에 error로 잡히지 않고 res(정상응답)으로만 반환이 되고 있습니다. 그리고 그 res를 콘솔에 찍어보면 {error: 'CallbackRouteError', status: 200, ok: true, url: null} 로만 반환이 됩니다. 로그인이 정상적으로 이루어졌을 때는 {error: null, status: 200, ok: true, url: 'http://localhost:3000/logi n'} 이렇게 반환이 됩니다. next-auth에서 Import해온 signIn 함수의 response 와 서버에서 받아온 errorMessage를 어디서 핸들링해야하는 건지 궁금하여 질문 드립니다.. 터미널에서 찍히는 errorMessage를 동일하게 signIn 함수의 error로 잡고 싶은데 가능한가요?
안녕하세요 강사님 강의 잘 듣고 있습니다! 항상 좋은 강의와 친절한 답변 감사드립니다. 스타일 컴포넌트 적용 중에 궁금증이 생겼는데 검색을 통해서는 명쾌한 답변이 나오지 않아서 질문드립니다. 아래 첨부 드린 코드와 같이 스타일 컴포넌트를 적용하려면 use client로 하고 page.tsx 에서 import 해서 사용해야 하는데 혹시 이렇게 했을때 강사님이 사용하신 CSS Modules에 비해 안 좋은점이 있을까요? use client를 import해서 사용하다 보니 css modules에 비해 속도가 느리다던가 서버 컴포넌트에 클라이언트 컴포넌트로 작성된 스타일을 적용시킴으로서 악영향이 있을까 걱정되어서 질문 드립니다. 'use client' import styled from "styled-components" export const Container = styled.div` background-color: ${({theme}) => theme.color.blue2}; `; import { Container } from "./home.styles" export default function Home() { return ( <Container>안녕하세요</Container> ) };
안녕하세요 강사님 강의 잘 듣고 있습니다! 항상 좋은 강의와 친절한 답변 감사드립니다. 스타일 컴포넌트 적용 중에 궁금증이 생겼는데 검색을 통해서는 명쾌한 답변이 나오지 않아서 질문드립니다. 아래 첨부 드린 코드와 같이 스타일 컴포넌트를 적용하려면 use client로 하고 page.tsx 에서 import 해서 사용해야 하는데 혹시 이렇게 했을때 강사님이 사용하신 CSS Modules에 비해 안 좋은점이 있을까요? use client를 import해서 사용하다 보니 css modules에 비해 속도가 느리다던가 서버 컴포넌트에 클라이언트 컴포넌트로 작성된 스타일을 적용시킴으로서 악영향이 있을까 걱정되어서 질문 드립니다. 'use client' import styled from "styled-components" export const Container = styled.div` background-color: ${({theme}) => theme.color.blue2}; `; import { Container } from "./home.styles" export default function Home() { return ( <Container>안녕하세요</Container> ) };
클론코딩 무작정 하다보니 이 부분은 제가 제대로 이해하고 있는 기분이 들지 않아서 다 지우고 해당 기능 구현에 대해서 혼자서 코딩해보고 있는데, 막막하네요.제가 막무가내로 짠 코드 고쳐봤자 의미가 없어서 다시 생각해서 짜보려고 하는데, 어떤 어떤 부분을 순서대로 구현해야 하는지 핵심만 힌트로 알려주실 수 있을까요?
LoginModal.tsx 클라이언트 컴포넌트에서 로그인 호출시 http://localhost:9090/api/auth/error?error=CallbackRouteError 로 넘어가서 질문드립니다. (9090서버 열린 것 확인했습니다) 비슷한 질문에 대한 답변에 버전 문제가 있어서 버전도 다시 설정해보았습니다. 그런데도 여전히 로그인 함수 호출 시 http://localhost:9090/api/auth/error?error=CallbackRouteErro r 로 리턴되고 있어서요. 터미널에는 아래와 같은 오류가 나옵니다..ㅜㅜ
첫번째처럼 코드 작성했는데, padding을 입력하기 전과 후가 차이가 안 나고 박스1,2,3이 계속 같은 크기예요. 제가 뭘 잘못한 걸까요?ㅠㅠ contentbox와 borderbox 크기 차이가 강의영상처럼 안 나타나서 뭘 잘못했나 싶네요.... 알려주시면 감사하겠습니다!
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
AuthProvider에서 useEffect를 추가해서 loadUser가 호출되도록 해주었는데 모든 페이지 접근시 2번씩 호출되는 원인이 무엇일까요? // app.tsx <AuthProvider> <Component {...pageProps} /> </AuthProvider> // AuthProvider useEffect(() => { async function loadUser() { try { const res = await axios.get("/auth/me"); dispatch("LOGIN", res.data); } catch (error) { console.log(error); } finally { dispatch("STOP_LOADING"); } } console.log("loadUser"); loadUser(); }, []); 그리고 커뮤니티 생성 페이지에서는 getServerSideProps를 선언해두었기 때문에 여기서도 /auth/me api 를 호출해주어서 결국 커뮤니티 생성 페이지에서만 총 3번이 호출되고 있어요. 제가 잘못 구현한 것일까요? 정리하자면, 1. 현재 코드에서는 loadUser() 메서드가 1회만 호출되어야 할 것 같은데, 2번 호출되는 이유는 무엇인지? 2. 커뮤니티 생성 페이지에서는 /auth/me api를 3번 호출하고 있는데, 횟수를 줄일 수 있는지? (이건 url 직접 입력해서 들어가지 않으면 1회만 호출할 것 같긴 하네요.) 서버 로그입니다.(각각 커뮤니티 생성 페이지, 로그인 페이지)
css배우기 예제 실습 중에 질문이 생겼습니다! <link href="./02-signup.css" 까지 연결하고 난 이후에, tㅓㄴ생님께서 rel 입력하신 것처럼 바로 아래에 자동으로 속성 연결할 수 있는 리스트들이 안 뜨고, 그냥 흰색으로 텍스트로 인식되는 것 같아요! 이럴 때는 어떻게 해야하나요?ㅠㅠ 선생님께서 작성하신 코드랑 똑같이 작성했습니다!
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c 0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다. 1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다. 2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다. 3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요. 4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요. 5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다. 6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 수업내용과 관계없이 궁금해서 질문드립니다.두개를 같이 사용했을 때 안 좋은 점이라던지 한가지만 사용해야된다면 그 이유가 궁금합니다.
서버 컴포넌트에서 Server Actions 사용하기 부분 수강 중에 오류가 발생하여 질문드립니다! 회원가입 양식 작성 후 form action 요청 시 response에 아무런 응답이 없는데 원인을 모르겠습니다.. 터미널에서 아래와 같은 내용이 뜨긴 해요. 저는 localhost:3002 번으로 열었습니다.
해당 포트가 9090인지 아닌지 어떻게 알 수 있나요? 어떤 환경이든 기본값이 9090인 것인가요? 보통 코드 실행할 때 클라이언트 로컬호스트 번호는 3000인 것처럼요? 그런데 실습에서 3000이 아니라 3001로 실행된것처럼 서버포트가 달라질 수도 있을까요? 그럴 때는 어떻게 확인해야하죠?
안녕하세요. 강의 잘 듣고 업무에 활용 중 입니다. 감사합니다. 업무에 활용 중 문의사항이 있어서 질문 드립니다. next.js 문서를 참고하여 docker 이미지로 next.js application을 배포 했습니다. https://nextjs.org/docs/app/building-your-application/deploying#docker-image 프로젝트 특성 때문에 하나의 docker 이미지가 phase마다 동일하게 사용이 되는데요. phase별로 환경설정 값들이 달라서 . evn.dev , .env.beta, .env.real등으로 사용을 하고 싶은데요. server가 로드될때 .env.[phase] 를 로드하는 방법에 대해 알고 싶습니다. 가능하면 next.js가 지원하는 방법으로 구현을 했으면 싶은데요. 가이드를 읽어봐도 이해가 잘 안되어서 문의 남깁니다. https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables 감사합니다.