묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
대댓글 쿼리문
강사님 안녕하세요 혹시 쿼리문좀 백엔드에서 잘못되는거 같은데한번 봐주시면 안될까요...아무리 _id로 할려고해도 같은 유저가 질문하게 되면 컨텐츠로도 확인해야해서요 ㅠㅠ 강사님 댓글이라도 대댓글 이거에 관한 힌트라도 얻을수있게 남겨주시면 감사하겠습니다..아무리해도 쿼리문에서 필요한게 없으니 어떻게 해야할지를 모르겠습니다...
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Fast Refresh Warning
터미널에 다음과 같은 경고가 뜹니다.warn - Fast Refresh had to perform a full reload. Read more: https://nextjs.org/docs/basic-features/fast-refresh#how-it-works TypeError: Failed to fetch at webpack_require.hmrM (http://localhost:3000/_next/static/chunks/webpack.js?ts=1690436755699:1201:20)작성한 코드AppLayout.jsimport { Menu } from "antd"; import Link from "next/link"; import PropTypes from "prop-types"; import React from "react"; const items = [ { label: ( <Link href="/"> <a>홈</a> </Link> ), key: "home", }, { label: <Link href="/profile">프로필</Link>, key: "profile", }, { label: ( <Link href="/signup"> <a>회원가입</a> </Link> ), key: "signup", }, ]; function AppLayout({ children }) { return ( <div> <Menu mode="horizontal" items={items}></Menu> {children} </div> ); } AppLayout.propTypes = { children: PropTypes.node.isRequired, }; export default AppLayout; index.jsimport React from "react"; import AppLayout from "../components/AppLayout"; function Home() { return ( <AppLayout> <div>Hello, Next!</div> </AppLayout> ); } export default Home; Fast Refresh 관련 문서를 보고 새로 고침도 해보고, 캐시도 지워보고, 익명 함수를 기명 함수로 바꿔보았지만 소용이 없었습니다.npm run dev를 실행하고 localhost에 접속할 때마다 보입니다.웹페이지 우측 하단에 vercel mark 같은 것이 잠시 깜빡이는데 그 때에도 fast refresh 관련 warnning이 뜹니다.next.js 12 버전, antd 5버전을 사용 중이며 질문 시점에 강의는 Section1의 1강 수강 했습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
hooks 에러
안녕하세요!다음과 같이 hook이 선언되기 전에 if조건문이 위치하여 오류가 발생하였습니다. useMutation은 조건문이 실행되기 전에 선언해주면 해결되었는데 useQuery는 router를 사용하기 때문에 조건문보다 먼저 선언이 될 수 없었습니다.그래서 조건문을 없애기 위해서 router.query.boardId 를 string타입으로 변환하여도 상관이 없나요?1차 오류 발생if (!router || typeof router.query.boardId !== "string") return <></>; const { data } = useQuery< Pick<IQuery, "fetchBoardComments">, IQueryFetchBoardCommentsArgs >(FETCH_BOARD_COMMENTS, { variables: { boardId: router.query.boardId }, }); const [deleteBoardComment] = useMutation< Pick<IMutation, "deleteBoardComment">, IMutationDeleteBoardCommentArgs >(DELETE_BOARD_COMMENT);//오류 원인 React Hook "useMutation" is called conditionally. React Hooks must be called in the exact same order in every component render. Did you accidentally call a React Hook after an early return? const { data } = useQuery<//string으로 변환 const { data } = useQuery< Pick<IQuery, "fetchBoardComments">, IQueryFetchBoardCommentsArgs>(FETCH_BOARD_COMMENTS, { variables: { boardId: String(router.query.boardId) }, });
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Graphql 강의중 질문
보시는 것과 같이 첫번째 사진처럼 백틱을 넣으면두번째 사진과 같은 자동완성기능이 제기능을 못합니다. 이유와 해결방법이 있나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
서로 다른 팔로우 버튼을 빠르게 눌렀을때 둘다 팔로우 성공시키는 방법?
(클릭한 버튼만 loading이 되게 해놓은 상태에서)서로 다른 두개의 팔로우 버튼을 빠르게(1초안에) 클릭했을때요청이 두번가는데 두번째거만 성공하는 이유는takeLatest를 사용해서 그런것이 맞나요?둘다 성공시키기 위해 takeEvery를 사용했는데그래도 될까요?function* watchFollow() { yield takeEvery(FOLLOW_REQUEST, follow); } function* watchUnfollow() { yield takeEvery(UNFOLLOW_REQUEST, unfollow); } 그리고 혹시 takeLatest를 써도 서버에 여러개의 요청이 가니까 서버에서 여러 요청을 모두 성공하게끔 처리가 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
재설치를 해도 app.tsx 빨간줄
재설치를 해도 에러 메시지가 사라지지않네요 ㅠㅠ 저랑 같은 문제인가 싶어 https://www.inflearn.com/questions/872799/%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%98%A4%EB%A5%98#259807해당글의 방법도 시도했지만 달라지지가 않네요 ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
d-day 오류
<!DOCTYPE html> <html lang="ko"> <head> <script src="./js/calculator.js"></script> <link rel="stylesheet" href="./calculator.css"> <title>D-Day</title> </head> <body> <h1>D-day</h1> <div id="d__day__container"> <div class="d__day__child__container"> <span id="days">0</span> <span>일</span> </div> <div class ="d__day__child__container"> <span id="hours">0</span> <span>시간</span> </div> <div class ="d__day__child__container"> <span id="min">0</span> <span>분</span> </div> <div class ="d__day__child__container"> <span id="sec">0</span> <span>초</span> </div> </div> <div id="target-selector"> <input id="year" type="text" placeholder="년도" class="day-caleander" size=5 maxlength="4"> <input id="month" type="text" placeholder="월" class="day-caleander" size=5 maxlength="2"> <input id="day" type="text" placeholder="일" class="day-caleander" size=5 maxlength="2"> </div> <div id="target__selector"> <button onclick="counterMake()" id="start__btn">카운트다운</button> </div> </body> </html> const dateFormMaker = () => { const inputYear = document.getElementById("year").value; const inputMonth = document.getElementById("month").value; const inputDay = document.getElementById("day").value; const dateFormat = `${inputYear} - ${inputMonth} - ${inputDay}`; return dateFormat; } const counterMake = () => { const targetDateInput = dateFormMaker(); const nowDate = new Date() const targetDate = new Date(targetDateInput); const remaining = (targetDate-nowDate) / 1000; if(remaining <=0) { console.log("타이머가 종료되었습니다.") }else if (isNaN(remaining)) { "유효한 시간 형식이 아닙니다" } const reaminingDate = Math.floor(remaining /3600 /24); const remainingHours = Math.floor (remaining/3600) & 24; const remainingMin = Math.floor(remaining/60) % 60; const remainingSec = Math.floor(remaining) & 60; const dDayCounter = `남은 시간 : ${reaminingDate}일 ${remainingHours}시 ${remainingMin}분 ${remainingSec}초`; console.log(dDayCounter) return dDayCounter; } console 하나하나 찍어가며 파악한 결과 targetDate에서 NaN이 뜨는데, 아무리 봐도 이유를 모르겠습니다 ㅠㅠㅠinput 박스에 적은 값들도 잘 읽어오는데 갑자기 저기서 에러가 뜨니까 답답하네요 . 피드백 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
(Section 26. Graphql Mutation) ApolloError:Failed to fetch
useMutation section 에서 해당 소스를 작성하고 Graphql API 요청하기 버튼을 누르면 아래와 같이 오류 메세지가 나옵니다. 설치 오류인가 싶어 package.json 을 봐도 특별히 어떤 문제인지 확인되지 않습니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
Property ' ' has no initializer and is not definitely assigned in the constructor ts 문제해결 방법 문의
안녕하세요 강사님클로코딩 진행중 npm run dev 명령 시 정상적으로 런타임 되는데계속해서 아래 사진과 같이 각 entity가 초기화가 안됐다는 경고 창이 뜨는데 이건 어떻게 해결해야하는지 문의드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
apoll-cilent 관련된 질문
apoll-cilent 관련된 질문입니다.질문1. 지금 강의에서는 api url이 한개만 있을 경우인데, 경로가 다 다른 경우는 어떻게 연결을 하나요??client를 여러개 만들어서 porivder에 담아줘야하나요??질문2. provider는 꼭 app.jsx를 감싸야하나요?? 아니면 내부 컴토넌트안에서 원하는 컴포넌트를 provider로 감싸도 동일하게 사용이 가능한가요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
댓글 작성기능중 별점 rating 부분 질문
31-2 포트폴리오 과제를 진행하다가 막혀서 질문드려요!!다른기능들은 이미 해봤던내용의 복습인것같아 잘진행을 하고있던 와중에 별점 기능을 구현하는데 어려움이 좀 있네요. 처음 만들어보는 기능이라 혼자 만들어보다가 잘진행이 되지않아 레퍼런스 코드를 한번보고싶은데요해당 과제 세션에 링크된 레퍼런스코드에는 그기능이 따로 없는것같아서 여쭈어봅니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
util/produce.js 에서 오류가 납니다
npm run dev를 했는데아래와 같은 오류가 뜨면서 실행이 안됩니다어디서 문제가 있는 건가요? util/produce.js 코드 내용import { enableES5, produce } from 'immer'; export default (...args) => { enableES5(); return produce(...args); }; 터미널 에러> react-nodebird-front@1.0.0 dev> next -p 3060ready - started server on 0.0.0.0:3060, url: http://localhost:3060event - compiled client and server successfully in 668 ms (1830 modules)wait - compiling / (client and server)...event - compiled client and server successfully in 1185 ms (4446 modules)4. WrappedApp created new store with withRedux(NodeBird) { initialState: undefined, initialStateFromGSPorGSSR: undefined }{}wait - compiling /_error (client and server)...error - util/produce.js (4:11) @ __WEBPACK_DEFAULT_EXPORT__error - TypeError: (0 , immer__WEBPACK_IMPORTED_MODULE_0__.enableES5) is not a function at __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///./util/produce.js:11:53) at reducer (webpack-internal:///./reducers/user.js:115:106) at /Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:476:24 at Array.forEach (<anonymous>) at assertReducerShape (/Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:474:25) at combineReducers (/Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:539:5) at eval (webpack-internal:///./reducers/index.js:19:75) { page: '/'} 2 | 3 | export default (...args) => {> 4 | enableES5(); | ^ 5 | return produce(...args); 6 | };event - compiled client and server successfully in 315 ms (4447 modules)4. WrappedApp created new store with withRedux(NodeBird) { initialState: undefined, initialStateFromGSPorGSSR: undefined }{}TypeError: (0 , immer__WEBPACK_IMPORTED_MODULE_0__.enableES5) is not a function at __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///./util/produce.js:11:53) at reducer (webpack-internal:///./reducers/user.js:115:106) at /Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:476:24 at Array.forEach (<anonymous>) at assertReducerShape (/Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:474:25) at combineReducers (/Users/hyeonyeongjeong/Documents/2023project/nodebird/prepare/front/node_modules/redux/lib/redux.js:539:5) at eval (webpack-internal:///./reducers/index.js:19:75) at processTicksAndRejections (node:internal/process/task_queues:96:5)^C%
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션 15 페이네이션 서버 에러
강의에 나온 대로 아무리 해도 계속 서버 에러가 뜨네요. 이전에 질문했던 codegen 까지 설치 완료 해서 제대로 작동이 되는데 이 페이지만 실행시키면 계속 오류가 발생합니다. 저가 뭘 잘못한 걸까요? import { useQuery, gql } from "@apollo/client"; import type { IQuery, IQueryFetchBoardArgs, } from "../../../src/commons/types/generated/types"; const FETCH_BOARDS = gql` query { fetchBoards { _id writer title contents } } `; export default function StaticRoutingMovedPage() { const { data } = useQuery<Pick<IQuery, "fetchBoards">, IQueryFetchBoardArgs>( FETCH_BOARDS ); console.log(data?.fetchBoards); return ( <div> {data?.fetchBoards.map((el) => ( <div key={el._id}> <span style={{ margin: "10px" }}>{el.title}</span> <span style={{ margin: "10px" }}>{el.writer}</span> </div> ))} </div> ); }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
next.js 설치를 하였는데 디렉토리 구조가 다릅니다.
안녕하세요강의 영상 잘 보고 있습니다.next.js 설치를 강의영상과 동일하게 명령어로 설치하는데 디렉토리 구조가 영상과 달라서 문의드립니다.별것 아닌 문제긴 한데 pages 폴더가 제쪽에는 설치가되지 않아서 경로설정등의 소소한 차이가 생겨서 문의드립니다.감사합니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
npm run dev시 password 다르다고 나옴
에러 종류: 위와 같은 환경에서 error: password authentication failed for user "postgres" 로 추정되는 에러 발생아마 서버 연결시 인증 문제로 보입니다.작동 절차: docker-compose up 입력,server 파일로 이동, npm run dev 실행. 에러 발생+1)POSTGRES_HOST_AUTH_METHOD: trust로 설정하고 서버 새로 만들어도 동일한 에러가 발생하여 무슨 문제일지 잘 모르겠네요.. 도움 주시면 감사하겠습니다.+2) 아래에 터미널의 전체 에러 코드 남깁니다.C:\Users\tukim\Desktop\reddit-clone-app\server>npm run dev > server@1.0.0 dev> nodemon --exec ts-node ./src/server.ts[nodemon] 3.0.1[nodemon] to restart at any time, enter rs[nodemon] watching path(s): .[nodemon] watching extensions: ts,json[nodemon] starting ts-node ./src/server.tsserver running at https://localhost:4000error: ����� "postgres"�� password ������ �����߽��ϴ� at Parser.parseErrorMessage (C:\Users\tukim\Desktop\reddit-clone-app\server\node_modules\pg-protocol\src\parser.ts:369:69) at Parser.handlePacket (C:\Users\tukim\Desktop\reddit-clone-app\server\node_modules\pg-protocol\src\parser.ts:188:21) at Parser.parse (C:\Users\tukim\Desktop\reddit-clone-app\server\node_modules\pg-protocol\src\parser.ts:103:30) at Socket.<anonymous> (C:\Users\tukim\Desktop\reddit-clone-app\server\node_modules\pg-protocol\src\index.ts:7:48) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Socket.Readable.push (node:internal/streams/readable:234:10) at TCP.onStreamRead (node:internal/stream_base_commons:190:23) { length: 107, severity: 'ġ��������', code: '28P01', detail: undefined, hint: undefined, position: undefined, internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'auth.c', line: '329', routine: 'auth_failed'}
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
리액트가 계속 로딩만되고 창이안떠요
강의 다잘따라왔는데 ㅠㅠ 왜이러죠 ? 컴퓨터를껏다켜도이래요 파일에 에러는 없습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
로그인 체크 페이지
안녕하세요 강사님!제가 테스트로 boards 페이지는 로그인이 되어 있어야 들어갈 수 있게 만들면서 복습하는 와중에 궁금증이 생겨 글 작성하게 됐습니다. 위 사진처럼 로그인 체크해서 로그인이 안되어있으면 로그인 페이지로 이동하게 만들었는데요.로그인이 안되어있을 경우 boards 소스에 있는 api 통신 자체를 못하게 막을 수 있는 방법이 있을까요?현재 로그인이 안되어있어서 로그인 페이지로 이동이 되지만 boards 코드에 있는 API 요청이 아래 사진처럼 날라가고 있습니다.추가로 로그인 성공하고 boards 페이지로 이동하는데위 사진처럼 refreshToken이 있음에도 getAccressToken 함수 리턴값이 undefined 이고새로고침을 해야 boards 페이지에 접근이 가능해집니다... ㅠㅠ 왜 이러는지 알려주세요!!
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
FirebaseError: Firebase: Error (auth/invalid-api-key).
안녕하세요!강의대로 따라하다가 FirebaseError: Firebase: Error (auth/invalid-api-key). 오류가 나왔습니다.model/firebase_client.ts 부분입니다.import { initializeApp, getApps } from 'firebase/app'; import { Auth, getAuth } from 'firebase/auth'; import getConfig from 'next/config'; const { publicRuntimeConfig } = getConfig(); const FirebaseCredentials = { apiKey: publicRuntimeConfig.apiKey, authDomain: publicRuntimeConfig.authDomain, projectId: publicRuntimeConfig.projectId, }; export default class FirebaseAuthClient { public static instance: FirebaseAuthClient; private auth: Auth; public constructor() { const apps = getApps(); if (apps.length === 0) { console.log('firebase initializeApp'); initializeApp(FirebaseCredentials); } this.auth = getAuth(); console.log('firebase auth client constructor'); } public static getInstance(): FirebaseAuthClient { if (!FirebaseAuthClient.instance) { FirebaseAuthClient.instance = new FirebaseAuthClient(); } return FirebaseAuthClient.instance; } public get Auth(): Auth { return this.auth; } } next.config도 확인했습니다ㅠㅠ.env 파일명도 확인했고, firebase일반설정에 들어가 웹 API 키도 확인하였습니다. 혹시몰라 깃허브 예제코드와도 비교했지만 해결하지 못했습니다ㅠㅠ 무슨 문제일까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
자료 최신화,,,
강의에서 소개되는 노션(자료)와 실제 노션 링크 구조가 많이 다른데,,,최신화좀 해주시던지,,,정리를 좀 해주세요;;; 깃 소스를 받으려 해도 뭐 찾을 수도 없고;;강의 아래 설명에 적어주셔도 될거같구요,,,피그마 이용관련해서도 뭔가 어디에 볼 수 있게 적어놓아주세요;;필요한 내용만 들으려고 하는데,,, 뭐 전부를 들어야지 해당 내용들을 따라갈수 있는건가요,,,???
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
cosnt is not defined
npm run dev 시 cosnt is not defined 가 뜹니다 제 코드는import React from 'react'; import propTypes from 'prop-types'; import Link from 'next/link'; import { Menu, Input, Row, Col } from 'antd'; import 'antd/dist/antd.css' import UserProfile from '../components/UserProfile'; import LoginForm from '../components/LoginForm'; const AppLayout = ({ children }) => { cosnt [IsLoggedIn, setIsLoggedIn] = useState(false); return ( <div> <Menu mode="horizontal"> <Menu.Item> <Link href="/"><a>노드버드</a></Link> </Menu.Item> <Menu.Item> <Link href="/profile"><a>프로필</a></Link> </Menu.Item> <Menu.Item> <Input.Search enterButton style={{verticalAlign: 'middle' }}/> </Menu.Item> <Menu.Item> <Link href="/signup"><a>회원가입</a></Link> </Menu.Item> </Menu> <Row gutter={8}> <Col xs={24} md={6}> {isLoggedIn ? <Userprofile /> : <LoginForm />} </Col> <Col xs={24} md={12}> {children} </Col> <Col xs={24} md={6}> <a href="" target='_blank' rel='noreferrer noopener'>Made by 0880</a> </Col> </Row> </div> ); }; AppLayout.propTypes = { children: propTypes.node.isRequired, } export default AppLayout; 입니다 무엇이 문제 일까요