묻고 답해요
138만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
26강 포트폴리오 리뷰 Unhandled Runtime Error ApolloError: Response not successful: Received status code 400
웹으로 확인하니 이런 화면이 뜹니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Can't resolve '@/styles/Home.module.css' 에러
안녕하세요,Section 23 부분중 localhost:3000으로 접속하는 부분에서, 첨부한 사진과 같은 컴파일 에러가 계속 발생합니다. 이전에 다른 분이 올리신 global.css 관련 질문에서 강사님이 답변하신 것처럼 index.js 파일에서 @를 ..로도 바꿔봤고, 해당 줄을 주석처리도 해봤는데 문제 해결이 안되고 다른 에러가 계속 발생합니다.어떻게 하면 좋을까요?첫번째 사진은 @/styles~로 그대로 실행했을때 나는 에러화면, 두번째 사진은 ../styles~로 고쳤을때 발생하는 에러 화면입니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
초기설정 중인데 문제가 한두가지가 아닙니다..
Section 23 Notion 문서 보면서 설정하고 있는데요,next.js로 프로젝트 만들었는데 문서와는 달리 Typescript 쓸건지 등등 여러 질문이 떠서 No 하려고 해도 타이핑이 안돼서 Yes 밖에 되지 않습니다일단 되는대로 class랑 자유게시판 만들었는데 이번에는 pages 디렉토리가 설치가 안되어있습니다그러다보니 그 다음 yarn dev 부분에서도 pages 디렉토리가 없다는 에러가 나고, 임의로 mkdir 통해서 pages만들고 실행하니까 Detected next.config.js, no exported configuration found. 뜨면서 URL을 브라우저에서 열어도 404 error 메세지만 뜹니다그런 과정을 거치고 나니까 다른 부수적인 에러들도 나타나는데, ../같은 기본적인 명령어에서도 not found 같은 에러가 나는등등 있습니다시작부터 막히니까 답답하네요...
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
_app.tsx 빨간줄
실행도 되고 app.tsx파일도 제대로 반영이 되는데 아래 jsx부분의 Component부분의 빨간 밑줄이 계속 남아 있습니다 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
현재 서버 문제있나요?
http://practice.codebootcamp.co.kr/graphql <-- 해당 사이트 접속이 불가하고위 사이트의 mutation 코드도 어제까지는 됐는데 오늘은 실행이 안되네요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
updateUseditem 에러 "Cannot read property '_id' of undefined"
안녕하세요.강사님께서 직접 답글 주셨으면 좋겠습니다,, updateUseditem api 요청 시 useditemAddress를 제외하고 아래와 같이 테스트하면 정상동작하는데useditemAddress를 붙인 후 요청 시 아래와 같이에러가 발생합니다.며칠 째 해결이 안되어 강사님께서 직접 봐 주셨으면 좋겠습니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
강의 듣는 방법에 대한 질문이 있습니다.
안녕하세요. ver2가 있는줄 모르고 현재 섹션 12까지 들었습니다. 지금부터라도 복습 겸 바로 ver2로 넘어가서 강의를 들어보려 했는데 괜찮을까요? 아직 한 것 보다 할게 더 많이 남은거 같아 질문 드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
27강 포트폴리오 리뷰 - Failed to fetch
강의를 따라서 했는데도 Failed to fetch 오류가 떠서 첨부된 git 링크를 clone해서 실행하고작성자, 비밀번호, 제목, 내용을 작석하고 등록하기 버튼을 눌러도 동일한 오류가 뜹니다.어떻게 해야하죠 ㅠㅠ?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
graphQl updateUseditem 에러입니다.
안녕하세요.아래와 같은 에러가 발생하는데 쿼리문을 잘못작성한게 있을까요? 왜 이런 에러가 발생하는지 잘 모르겠습니다.해결해주시면 감사드립니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
핸드폰 번호 인증번호 에서
안녕하세요 섹션 5 . 수학 객체 파트3분 19 초 에서 077215 는 존재할 수 없다 라고 하셨는데 왜 존재할 수 없다라는 것인가요 ?077215에서 0을 인식할 수 없어 77215로 인식하기 때문에 그런 것 같은데 제 입장에서는 급 ?뜬금없이 ? 라는 느낌이 있어서 정확히 왜 존재할 수 없다고 하신지 이해가 가지 않습니다..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Server Error Error: App(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
웹으로 확인해보려 하니 이런화면이 자꾸 뜹니다ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
회원가입 과제 코드
회원가입 과제는 따로 정답 코드가 없는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
서버
http://practice.codebootcamp.co.kr/graphql서버에 문제가 있나요? 어제는 잘 되었는데 안들어가지네요.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
final 과제
강사님 안녕하세요. 파이널 과제를 하면서 궁금한 점이 있어 질문 드립니다..!질문이 많지만 피드백 주시면 감사하겠습니다! ( _ _ ) 화면이 100% 일때는 회원가입 폼의 높이가 잘리고, 80%로 줄여야 그때부터 폼이 화면 안에 다 들어간 상태로 확인할 수 있습니다. 이러한 현상은 브라우저 별 차이로 생각하면 되는 걸까요? 또 저는 화면이 100%일 때도 폼이 안잘렸으면 하는데, 혹시 이때 해결할 수 있는 방법이나 대안이 따로 있을까요?// 노션 파일에 있는 코드와 동일합니다. * { box-sizing: border-box; margin: 0px; } body { width: 100vw; height: 100vh; display: flex; flex-direction: row; justify-content: center; align-items: center; } 성별 인풋에서 radio 동그라미 부분에 따로 스타일을 주고 싶어서 아래와 같이 작성했는데, 적용이 안됩니다. 제가 시도해본 방법은 label 내부에 input을 두고 id와 for을 묶어서 스타일을 적용해보았으나, 실패했습니다. 혹시 적용이 안되는 이유와 해결 방법을 알려주실 수 있을까요?<input type="radio" name="gender" class="gender-radio" />여성 .gender input[type="radio"] { background: #ebebeb; border: 1px solid #d2d2d2; } 하단 가입하기 버튼 바로 위에 있는 수평선을 <hr> 태그가 아닌, 버튼을 감싸는 div 박스에 border-top을 주어 스타일을 작성했는데요, 아래와 같이 footer와 버튼이 겹쳐버리는 현상이 발생했습니다.저는 이를 마진 겹침 현상으로 생각하고, 부모 요소에 padding, inline-block, overflow:hidden을 적용해 보았지만 결국 문제를 해결하지 못했습니다. 저는 html 코드를 줄이고자 버튼을 감싸는 박스로 가로선을 해결하고 싶었는데, 이러한 현상이 발생하는 이유와 이 경우 어떤 식으로 해결할 수 있는지 궁금합니다.<div class="footer"> <button id="signup-button">가입하기</button> </div> .footer { width: 380px; height: 1px; margin: 32px 0px 20px 0px; border-top: 1px solid red; } #signup-button { width: 380px; height: 75px; background: #ffffff; border: 1px solid #0068ff; border-radius: 10px; font-size: 18px; line-height: 27px; text-align: center; }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
중고마켓 리스트 질문
export const FETCH_USEDITEMS = gql` query fetchUseditems($page: Int, $search: String, $isSoldout: Boolean) { fetchUseditems(page: $page, search: $search, isSoldout: $isSoldout) { _id name remarks contents images tags price pickedCount seller { _id email name } } } `;중고마켓에 fetchUseditems 대해 질문이 있습니다.isSoldout을 true와 false로 각각 가져와서 데이터를 화면에 띄우려고 하는데 어떤 식으로 가져와야 하나요? const { data } = useQuery< Pick<IQuery, "fetchUseditems">, IQueryFetchUseditemsArgs >(FETCH_USEDITEMS);이부분에서 무엇을 더 추가해야하는지 아니면 presenter에서 가져와야하는지 갈피를 못잡겟네요. ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
중고 마켓 부분 백엔드
중고 마켓의 백엔드 부분은 수업에서 제공돼는 기본적인 CRUD 로 가능한건가요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
중고마켓 리스트 질문입니다.
현재 중고마켓 리스트 부분을 하고 있습니다.이 부분에서 판매중상품 판매된상품 을 하고있는데fetchUseditems에 있는 isSoldout 부분을 어떤식으로 가져와야 할 지 모르겠네요.. refetch 를 사용해야 하는 건가요..?
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
site-map ssr 작성 시 문제점
강의에 나온 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",
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
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 ErrorInvariant 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요렇게 적혀있는데 어떤 에러일까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
next.js가 문제인지 구성폴더와 파일이 달라요
버전이 달라서 그런지 모르겠는데다른분들은 딱히 그런 문의가 없어서 왜인지 모르겠지만 저는 page 폴더도 없고 app.js 도 없고 style폴더도 없어서 그냥 제가 따라서 만들었는데 API수업에서 app.js가 없다보니 기본컴포넌트를 사용할수 없네요..있는거라곤 app폴더안에 layout.js와page.js는 있는데 page.js이 시작파일인것 같은데 여길 수정해도 달라지는건 없더라구요..