inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

중고마켓 리스트 질문입니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

현재 중고마켓 리스트 부분을 하고 있습니다. 이 부분에서 판매중상품 판매된상품 을 하고있는데 fetchUseditems에 있는 isSoldout 부분을 어떤식으로 가져와야 할 지 모르겠네요.. refetch 를 사용해야 하는 건가요..?

  • react
  • node.js
  • seo
  • graphql
  • next.js
임프런 댓글 1 좋아요 0 조회수 368

site-map ssr 작성 시 문제점

해결됨

Next.js 시작하기(feat. 지도 서비스 개발)

강의에 나온 https://www.npmjs.com/package/next-sitemap 라이브러리를 받고 문서 따라서 server side sitemap (getServerSideSitemap) 을 보고 문서대로 경로 만들고 라우터 만들어서 getServerSideSitemap() 로 리턴하여 사이트맵을 생성하였습니다. .next 에 server-sitemap.xml.body이 잘 만들어졌습니다 문제는 한 파일에 15만개가 넘게 작성이 된 것입니다. 구글 검색엔진에서 사이트맵의 URL 50,000개로 제한두고 있습니다. 문서따라서 config 에 sitemapSize: 10000, 설정을 적용하여도 스플릿팅 되지 않습니다. 어떻게 해결해야 하나요? node: 18.15.0 "next-sitemap": "4.0.9" "next": "^13.4.2",

  • seo
  • next.js
  • vercel
  • csr
  • ssg
  • ssr
콩팥팥죽 댓글 1 좋아요 1 조회수 463

invaratiant violation 에러가 뜹니다

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

Uncaught at new InvariantError ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\ts-invariant\lib\invariant.cjs:16:28) at Object.invariant ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\ts-invariant\lib\invariant.cjs:28:15) at parser ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\@apollo\client\react\parser\parser.cjs:34:23) at Object.verifyDocumentType ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\@apollo\client\react\parser\parser.cjs:93:21) at useMutation ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\@apollo\client\react\hooks\hooks.cjs:431:12) at BoardWrite (webpack-internal:///./pages/src/components/units/board/write/BoardWrite.container.js:34:86) at processChild ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\react-dom\cjs\react-dom-server.node.development.js:3353:14) at resolve ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\react-dom\cjs\react-dom-server.node.development.js:3270:5) at ReactDOMServerRenderer.render ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\react-dom\cjs\react-dom-server.node.development.js:3753:22) at ReactDOMServerRenderer.read ( file://C:\Users\82109\OneDrive\바탕 화면\codecamp-frontend-mentee\freeboard_frontend\node_modules\react-dom\cjs\react-dom-server.node.development.js:3690:29) 콘솔창에는 이렇게 찍히고 콘테이너 코드입니다 import { useMutation } from "@apollo/client"; import { useRouter } from "next/router"; import { useState } from "react"; import CREATE_BOARD from "./BoardWrite.queries"; import BoardWriteUI from "./BoardWrite.presenter"; export default function BoardWrite() { const router = useRouter(); //입력값 받는 훅 const [writer, setWriter] = useState(""); const [password, setPassword] = useState(""); const [title, setTitle] = useState(""); const [contents, setContents] = useState(""); //오류코드 받는 훅 const [writerError, setWriterError] = useState(""); const [passwordError, setPasswordError] = useState(""); const [titleError, setTitleError] = useState(""); const [contentsError, setContentsError] = useState(""); //입력값 저장하는 훅 const [createBoard] = useMutation(CREATE_BOARD); //입력값(작성자) 받는곳 & 오류창 없애는곳 function onChangeWriter(event) { setWriter(event.target.value); if (event.target.value !== "") { setWriterError(""); } } function onChangePassword(event) { setPassword(event.target.value); if (event.target.value !== "") { setPasswordError(""); } } function onChangeTitle(event) { setTitle(event.target.value); if (event.target.value !== "") { setTitleError(""); } } function onChangeContents(event) { setContents(event.target.value); if (event.target.value !== "") { setContentsError(""); } } //등록 함수 const onClickInformation = async () => { if (!writer) { setWriterError("작성자를 입력해주세요"); } if (!password) { setPasswordError("비밀번호를 입력해주세요"); } if (!title) { setTitleError("제목을 입력해주세요"); } if (!contents) { setContentsError("내용을 입력해주세요"); } if (writer && password && title && contents) { try { const result = await createBoard({ variables: { createBoardInput: { writer, password, title, contents, }, }, }); console.log(result.data.createBoard._id); router.push(`/portfolio/boards/${result.data.createBoard._id}`); } catch (error) { alert(error.message); } } }; return ( <div> <BoardWriteUI aaa={onChangeWriter} bbb={onChangePassword} ccc={onChangeTitle} ddd={onChangeContents} eee={onClickInformation} aaaa={writerError} bbbb={passwordError} cccc={titleError} dddd={contentsError} /> </div> ); } 유아이 코드입니다 import { Container, MainTitle, InformationBox, WriterBox, WriterInput, Title, TitleContents, TitleBox, Input, ContentsContent, AddressNumber, AddressBox, ButtonOne, AddressBtnBox, PicContentsBox, CheckBoxes, CheckBoxesContainer, CheckBoxSpan, OkBtn, UploadBtn, Address, ErrorText, } from "./BoardWrite.styles"; export default function BoardWriteUI(props) { return ( //html 자리 <Container> <MainTitle>게시물 등록</MainTitle> <InformationBox> <WriterBox> <Title>작성자</Title> <WriterInput type="text" placeholder="이름을 적어주세요." onChange={props.aaa} ></WriterInput> <ErrorText>{props.aaaa}</ErrorText> </WriterBox> <WriterBox> <Title>비밀번호</Title> <WriterInput type="password" placeholder="비밀번호를 적어주세요." onChange={props.bbb} ></WriterInput> <ErrorText>{props.bbbb}</ErrorText> </WriterBox> </InformationBox> <TitleBox> <Title>제목</Title> <TitleContents type="text" placeholder="제목을 작성해주세요." onChange={props.ccc} ></TitleContents> <ErrorText>{props.cccc}</ErrorText> </TitleBox> <TitleBox> <Title>내용</Title> <ContentsContent type="text" placeholder="내용을 작성해주세요." onChange={props.ddd} ></ContentsContent> <ErrorText>{props.dddd}</ErrorText> </TitleBox> <AddressBox> <Title>주소</Title> <AddressBtnBox> <AddressNumber type="text" placeholder="07250"></AddressNumber> <ButtonOne>우편번호 검색</ButtonOne> </AddressBtnBox> <Address type="text"></Address> <Address type="text"></Address> </AddressBox> <TitleBox> <Title>유튜브</Title> <Input type="text" placeholder="링크를 복사해주세요."></Input> </TitleBox> <TitleBox> <Title>사진 첨부</Title> <PicContentsBox> <UploadBtn>+</UploadBtn> <UploadBtn>+</UploadBtn> <UploadBtn>+</UploadBtn> </PicContentsBox> </TitleBox> <TitleBox> <Title>메인 설정</Title> <CheckBoxesContainer> <CheckBoxes type="checkbox"></CheckBoxes> <CheckBoxSpan className="youtube">유튜브</CheckBoxSpan> <CheckBoxes type="checkbox"></CheckBoxes> <CheckBoxSpan className="youtube">사진</CheckBoxSpan> </CheckBoxesContainer> </TitleBox> <OkBtn onClick={props.eee}>등록하기</OkBtn> </Container> ); } 쿼리 코드입니다 import { gql } from "@apollo/client"; export const CREATE_BOARD = gql` mutation createBoard($createBoardInput: CreateBoardInput!) { createBoard(createBoardInput: $createBoardInput) { _id } } `; 마지막으로 인덱스 코드입니다, import BoardWrite from "../../../src/components/units/board/write/BoardWrite.container"; export default function board() { //자바스크립트 자리 return ( //html 자리 <div> <BoardWrite /> </div> ); } 화면에는 Server Error Invariant Violation: Argument of undefined passed to parser was not a valid GraphQL DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a document 요렇게 적혀있는데 어떤 에러일까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
지우혁 댓글 1 좋아요 0 조회수 547

next.js가 문제인지 구성폴더와 파일이 달라요

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

버전이 달라서 그런지 모르겠는데 다른분들은 딱히 그런 문의가 없어서 왜인지 모르겠지만 저는 page 폴더도 없고 app.js 도 없고 style폴더도 없어서 그냥 제가 따라서 만들었는데 API수업에서 app.js가 없다보니 기본컴포넌트를 사용할수 없네요..있는거라곤 app폴더안에 layout.js와page.js는 있는데 page.js이 시작파일인것 같은데 여길 수정해도 달라지는건 없더라구요..

  • react
  • node.js
  • seo
  • graphql
  • next.js
inah1001 댓글 1 좋아요 0 조회수 2030

포트폴리오 과제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요! '학습자료 ver2 노션이 업데이트 되긴 했으나 여전히 포트폴리오 링크만 볼 수 있고, 포트폴리오 리뷰 강의 수강 전 무엇을 구현해야하는지에 대한 설명은 확인 할 수 없어서 다시 한 번 질문드립니다' 라는 글에 업데이트 되었다는 댓글은 봤지만, 저는 노션에 깃허브 링크만 보여서요ㅜㅜ 업데이트가 될까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
조충범 댓글 2 좋아요 0 조회수 385

회원가입 만들기 과제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

왜 이렇게 라디오 버튼을 생성했을 때 여성 남성 글자가 라디오 옆에 안오고 밑으로 올까요...?

  • react
  • node.js
  • seo
  • graphql
  • next.js
sirlyun23 댓글 1 좋아요 0 조회수 449

vercel로 배포를 했을때 local db에 어떻게 액세스 할 수 있을까요?

해결됨

Next.js 시작하기(feat. 지도 서비스 개발)

포트포워딩으로 외부에서 db에 접속가능하게끔 포트 뚫어주고 테스트 해봤습니다. build한뒤 start 했을때 해당 local db에 데이터 삽입 되는거 까지 확인했고 폰으로 와이파이 연결끊고 접속도 해서 적용되는것 또한 테스트 해봤습니다. 하지만 vercel에서 배포를 하게되면 요청은 처리 되지만 Application error: a client-side exception has occurred (see the browser console for more information). 해당 오류가 발생하게 되네요. prisma + mysql db 사용중입니다. env 설정, axios url까지 다 맞는데 왜 안되는걸까요...? vercel postgre beta 버전으로 연동하면은 되기는 하지만 저는 local db에 연결해서 배포를 하고 싶습니다. 하지만 찾아봐도 vercel이랑 db 연동하는 방법은 잘 나오지않네요.

  • seo
  • next.js
  • vercel
  • csr
  • ssg
  • ssr
댓글 1 좋아요 0 조회수 1640

Module not found: Can't resolve '@/styles/globals.css' 에러가 뜹니다ㅜ

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요. 처음 시작부터 에러가 떠서 구글링을 해봐도 해결이 안되어 질문글 올립니다ㅜ 섹션 23 오티 부분 듣고 있구요. 처음 보일러 플레이팅에서 yarn dev를 하면 자꾸 Module not found: Can't resolve '@/styles/globals.css' 라는 에러 문구가 뜹니다. 지웠다 다시 깔아도 마찬가지 입니다ㅜㅜ..

  • react
  • node.js
  • seo
  • graphql
  • next.js
energy 댓글 1 좋아요 0 조회수 2610

postman 화면

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

강의 내용과 다른 화면이 나오는데 어디로 들어가야 하나요.?

  • react
  • node.js
  • seo
  • graphql
  • next.js
박수민 댓글 1 좋아요 0 조회수 484

페이지 이동시 css 중복 관련해서 질문 남깁니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요! 수업 따라가면서 개인공부하다가 질문이 있어 남깁니다! next js가 Client-Side Rendering 방식이라서 그런건지 Link 또는 useRouter를 이용해서 페이지를 이동할 때 이전페이지의 css와 중복되어서 겹쳐보입니다 ㅠㅠ 어떻게 해야할까용??

  • react
  • node.js
  • seo
  • graphql
  • next.js
김무연 댓글 1 좋아요 0 조회수 419

토큰이 나와있는 수업이 어디 부분에 나와있나요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

제가 놓쳤을수도 있습니다. Math학습 부분에서 뭔가 비어 있는 듯한 느낌이 있었는데 오늘 보니 Token에 관해 수업을 하셨다했는데, 어느 강의부분인가요? 함수 작성 방법 수업을 듣는데 hex에 관해서도 설명하셨다는데 어디있는지 모르겠습니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
dlwjdgus3217 댓글 2 좋아요 0 조회수 380

싸이월드 만들기 1탄에서 height 값 관련 질문입니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요 혼자 실습중에 궁금한 점이 생겨서 질문드립니다. 수업시간에 싸이월드 1탄 했던 것을 복습하는 중인데요. 의문이 생긴 점이 있습니다. 수업의 약 18분 30초 경에 .wrapper__left 의 height 값에 대해서 472px이라고 언급하셔서 수업들을 때는 그냥 그런가보다 하고 따라했었습니다. 그런데 복습하기 위해서 피그마로 보면서 하고 있는데 아무리 생각해도 이게 왜 472px이 나오는지 의문이 들더라구요. wrapper__left 값을 봐도 484내지는 496이 아닌가 싶은데.. 지엽적인 질문을 드려서 죄송합니다만 어떠한 원리로 이게 472px인지 알 수 있을까요? 아무리 피그마 내에서 확인을 해도 472px이 나오는 이유를 모르겠습니다.. 읽어주셔서 감사합니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
jimyjeon 댓글 1 좋아요 0 조회수 432

백틱안에 css

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

백틱안에 css속성적용할때 자동완성하는 방법 뭔가요?? 저는 이렇게 주황색으로만 뜨네요

  • react
  • node.js
  • seo
  • graphql
  • next.js
dydtjq324 댓글 1 좋아요 0 조회수 485

restoreAccessToken Mutation 관련 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

https://backend-practice.codebootcamp.co.kr/graphql URL에 직접 접속하여 로그인 mutation 쿼리를 직접 실행하며 테스트 하고 싶어서 진행 중인데요, restoreAccessToken 쿼리에 대한 의문이 생겼습니다. 제가 잘못 사용한건지 작동이 되질 않아서 몇 시간 동안 삽질하다가 문의드립니다. 제가 알기로 restoreAccessToken 쿼리는 accessToken이 만료된 경우 refreshToken을 통해 accessToken을 새로 발급해주는 것으로 알고 있습니다. 그래서 우선은 테스트로 로그인 쿼리를 날려서 만료되지 않은 accessToken을 받고 복사한 뒤, 위와 같이 쿼리를 작성하고, { "authorization": "Bearer [accessToken값]" } 이러한 방식으로 헤더에 직접 입력 후 request를 날렸습니다. 그런데 아래와 같은 에러 문구가 뜹니다. 토큰이 제공되어야 한다는 에러 메시지에 제가 뭔가 설정을 잘못했나? 싶어서 accessToken을 필요로 하는 fetchUserLoggedIn 쿼리에 요청을 날려보니 잘 작동합니다. 하지만 restoreAccessToken 은 똑같이 헤더 설정을 하고 요청을 보내도 jwt must be provided 와 같은 메시지만 계속 나옵니다. 그리고 다음으로 만료된 토큰을 넣어봤습니다. loginUserExample 쿼리를 통해 만료된 토큰을 만들고 넣어서 요청을 보내니까 Context creation failed: 토큰 만료 와 같은 메시지가 나옵니다. restoreAccessToken 이건 어떻게 사용하는 쿼리인가요? 제가 잘못 사용하고 있는 걸까요..?

  • react
  • node.js
  • seo
  • graphql
  • next.js
FRONTEER 댓글 1 좋아요 0 조회수 264

fetchUseditemsIPicked 검색 시 오류발생입니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요. fetchUseditemsIPicked 의 search 공백인 상태로는 정상 조회가 되는데 값을 넣으면 아래와 같은 에러가 발생합니다. 에러 원인과 해결방법 부탁드립니다! 감사합니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
용준 댓글 1 좋아요 0 조회수 350

노션에 있는 퀴즈 섹션 문의드립니다!!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요. 강의를 들으며 신세계를 느끼는 중인 학생입니다. 다름이 아니고 혹시 퀴즈섹션 보면 마지막에 만들 수 있게 피그마제시해주는걸로 아는데, 혹시 답지라면 좀 이상하긴 하지만, 코드를 볼 수 있는 그런 자료들은 따로 없나요? 깃헙이나 등등...

  • react
  • node.js
  • seo
  • graphql
  • next.js
조충범 댓글 1 좋아요 0 조회수 522

figma 픽셀 단위 확인법이 따로 있는지요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

제가 강박이 있어서 피그마 있는거 그대로 픽셀따라가면서 하려고 노력중입니다. 그런데 간격이라든지 몇몇군데는 상세하게 잘 보이지 않더군요. 그래서 드리는 질문이 피그마를 참조하면서 전반적인 틀만 수용하고 픽셀이나 % 같은거는 제 임의대로 해도 되는지요? 만약 그렇지 않다면 혹시 피그마 내에서 간격이나 픽셀 하나하나를 확인하는 방법이 있나요? 가령 강의에서 wrapper__left의 height 값이 472px라고 알려주셨는데 피그마에서는 이 값을 확인할 수 없어서 계속 찾다찾다 답답해서 이렇게 질문드립니다. 아무쪼록 읽어주셔서 감사합니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
댓글 1 좋아요 0 조회수 3409

fetchUseditemsISold 가 이상해요(?)

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요. 현재 마이페이지의 판매중상품 페이지네이션을 구현중입니다. fetchUseditemsISold 를 하면 아래와 같이 상당수의 판매중인 중고상품이 조회되는데 fetchUseditemsCountISold 를 하면 0개가 조회됩니다. 동일한 Authorization으로 조회하였는데 원인이 무엇일까요? 혹 다른 api를 사용하여 갯수를 조회해야하나요? 감사합니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
용준 댓글 1 좋아요 0 조회수 418

배포 관련질문 드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

수업들으면서 만든 포트폴리오는 배포 할 수가 없나요 ?

  • react
  • node.js
  • seo
  • graphql
  • next.js
정재민 댓글 1 좋아요 0 조회수 402

스토어 json 가져올 때, '.default' 를 하는 이유?

해결됨

Next.js 시작하기(feat. 지도 서비스 개발)

const stores = (await import('../public/stores.json')).default; 라고 next api routes로 변경전에 json 파일을 가져오는데, '.default' 를 붙이는 이유가 있을까요? 정확히 무슨 의미인지 알고 싶습니다.

  • seo
  • next.js
  • vercel
  • csr
  • ssg
  • ssr
poan1221 댓글 1 좋아요 2 조회수 572

인기 태그

인프런 TOP Writers

주간 인기글