묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
useSWR 사용시 타입 지정
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 커뮤니티 정보가져오는 useSWR에서는 다른 곳처럼 타입지정을 따로안했는데 원래는 [slug].tsx 에서 사용한 useSWR처럼 타입지정을 해줘야하나요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
cookie 완전히 제거 하는법
로그아웃을 했을때 브라우저에서 쿠키를 완전히 제거하는 코드를 구현했습니다 그런데 페이지 이동을 하는게 아니면 같은 페이지에선 새로고침을 하면 계속 connect.sid에 쿠키가 남아있는데 완전히 없애는 방법 없는지 여쭤보고 싶습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
백엔드 수업 부분
안녕하세요 백엔드 수업 부분은실습이 불가하다고 하는데,따로 vscode 사용없이강의만 수강해도 괜찮은건가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
스크롤때문에 데이터 불러오는거
스크롤때문에 무한으로 데이터 요청 보내는거 작업, 게시글 좋아요 강의 편에서 한다고 했는데 돌려봐도 스크롤 데이터 요청막는거 안보여서요 아직 구현 안한건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
run dev 오류
notion에 있는 '수업 프로젝트 설치할 것' 이후 yarn dev를 해보면 다음과 같이 Can't resolve '@styles.Home.module.css'가 뜹니다. _app.js에 있는 import문도 삭제하였는데, 해당 문제가 해결되지 않아 qqq폴더 안에 index.js도 실행이 되지 않습니다..! 혹시 어떻게 해결 가능할까요? 실행 위치는 codecamp, class, qqq 모두 해보았는데 같은 오류가 발생합니다! ㅠㅠ + import styles from ~~부분을 주석처리하고, return 안의 내용을 삭제시키니 동작하는데 삭제시켜둔 상태로 강의를 진행해도 괜찮나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
apollo-client의 사용 및 _app.js 작동원리
example 주소 : http://practice.codebootcamp.co.kr/graphql이 주소가이렇게 떠서포트폴리오용 주소 : http://backendonline.codebootcamp.co.kr/graphql이주소를 uri에 넣었고이렇게 실행해봤더니이렇게 뜨네요버튼을 눌러도 네트워크에 뜨지 않습니다뭐가 문제일까요?..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
redux saga를 사용한 비동기 통신 질문
안녕하세요 강사님, 비동기 통신 관련해서 질문이 있습니다.상세페이지를 만들면서 map 돌린 것 중 어떤 아이템을 클릭하면 아이템의 이름을 url 주소에 넣고, 그걸 매개변수로 데이터를 가져오려고 합니다.그래서 api를 result를 매개변수로 아래와 같이 만들고 saga도 만들었습니다.getWordArt: (result) => localApi.get("/api/markets/search?text=" + result),function* loadSearchArt(action) { try { const result = yield call(ArtApi.getWordArt()); yield put({ type: SEARCHART_SUCCESS, data: result.data, }); } catch (err) { yield put({ type: SEARCHART_FAILURE, error: err.response.data, }); }}function* watchLoadSearchArt() { yield takeLatest(SEARCHART_REQUEST, loadSearchArt);}export default function* ArtSaga() { yield all([ fork(watchLoadSearchArt), ]);}그리고 useParams로 result를 가져와서 아래처럼 getWordArt에 매개변수로 넣었습니다.const { result } = useParams(); useEffect(() => { ArtApi.getWordArt(result) .then((res) => { setSearchArt(res.data.data.markets); }) .catch((err) => { throw new Error(err); }); }, [result]);데이터는 잘 가져오는데 이 코드를 dispatch를 사용해서 아래처럼 수정하고 싶은데 어떻게 하면 좋을지 잘 모르겠어서 질문합니다. useEffect(() => { dispatch({ type: SEARCHART_REQUEST, }); }, [dispatch]);저런 코드에 result를 여기저기 넣어봤는데 데이터를 못 가져옵니다ㅜㅜ아래에 reducer도 같이 첨부합니다.const initialState = {searchArt: [], searchArtLoading: false, searchArtDone: false, searchArtError: null}export const SALEART_REQUEST = "SALEART_REQUEST";export const SALEART_SUCCESS = "SALEART_SUCCESS";export const SALEART_FAILURE = "SALEART_FAILURE"; const ArtReducer = (state = initialState, action) => { return produce(state, (draft) => { switch (action.type) { case SEARCHART_REQUEST: draft.searchArtLoading = true; draft.searchArtDone = false; draft.searchArtError = null; break; case SEARCHART_SUCCESS: draft.searchArtLoading = false; draft.searchArtDone = true; draft.searchArt = action.data.data; break; case SEARCHART_FAILURE: draft.searchArtLoading = false; draft.searchArtDone = true; draft.searchArtError = action.data.error; break; default: return; } });};
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
callback
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1. 여기서 쓰인 callback 함수의 의미는 어떻게 될까요?? 간단하게 return으로 이해하면 될까요??next()가 없어도 다음 핸들러로 넘어가는 건가요??callback에서 첫번째 인자는 에러를 뜻하고, 두번째 인자는 위에 사진처럼하나는 filename이고하나는 acceptFile: boolean 을 뜻하는데그저 multer의 형식이라고 생각하면 될까요?? 그리고 upload =multer 저 부분이 실행되고 다음 핸들러인 uploadSubImage에서는 이미 파일이 업로드가 된 상태라고 했는데 그럼 upload= multer가 uploadSubImage로 request로 file정보를 보낸건가요?? 로그를 찍어보니까 req는 ownSub에서는 undefined였는데 uploadSubImage에서 생기더라구요...
-
해결됨따라하며 배우는 리액트 A-Z[19버전 반영]
handleSubmit을 useCallback으로
handleSubmit를 useCallback으로 감싸서 만들어봤는데const handleSubmit = useCallback( (e) => { e.preventDefault(); let newTodoData = todoData.map((data) => { if (data.id === id) { data.title = editedTitle; } return data; }); console.log(newTodoData); setTodoData(newTodoData); setIsEditing(false); }, [todoData, setTodoData, id, editedTitle] );의존성배열에 setTodoData 를 넣지않으면 아래오류가 나면서 handleSubmit 함수가 실행되지 않더라구요React Hook useCallback has a missing dependency: 'setTodoData'. Either include it or remove the dependency array. If 'setTodoData' changes too often, find the parent component that defines it and wrap that definition in useCallback제 지식으론 의존성배열에 todoData만 넣으면 될줄 알았는데 왜 setTodoData 까지 같이 넣어야하는지 궁금합니다!
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
axios.js 에 인스턴스를 만든 후 Banner.js 에 import 할 때 문의
안녕하세요!axios.js 에 인스턴스를 만들고 그 인스턴스를 export default instance; 로 export 해줬는데그렇다면 Banner.js 에서 가져와서 사용할 때import instance from "../api/axios"; 라고 가져와서 instance.get(requests.fetchNowPlaying);이런 식으로 사용하는게 맞지 않나 생각이 들어서 질문 드립니다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
질문좀 드릴께요 지도
안녕하세요 선생님 혹시 지도는 구글지도를 이용해서 하는 방법은 없을까요? 수강신청했습니다
-
해결됨따라하며 배우는 리액트 A-Z[19버전 반영]
Lists.js에서 List컴포넌트로 프롭스 보내줄때,
<List key={data.id} id={data.id} title={data.title} completed={data.completed} todoData={todoData} setTodoData={setTodoData} provided={provided} snapshot={snapshot} />List에 프롭스 key를 넘겨주었는데왜 List.js에서는 key를 받지 않은 건가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
오류 해결에 도움이 필요합니다.
시퀄라이즈 sync 부분 강의까지 들었습니다. port는 3306번을 다른게 차지하고 있어서 3307을 사용했습니다. node app.js 했는데 실행이 안되네요.. 오류를 파일 부분을 찾아보려했는데 다 모듈 관련된 부분인거 같아서 어디를 봐야 할지 막혔습니다. 워크벤치도 연결이 안되는 상황입니다. 서버 실행 중ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED 127.0.0.1:3307 at ConnectionManager.connect (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:92:17) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async ConnectionManager._connect (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:220:24) at async /Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:174:32 at async ConnectionManager.getConnection (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:197:7) at async /Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:304:26 at async MySQLQueryInterface.tableExists (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/query-interface.js:102:17) at async Function.sync (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/model.js:939:21) at async Sequelize.sync (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:376:9) { parent: Error: connect ECONNREFUSED 127.0.0.1:3307 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) { errno: -61, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 3307, fatal: true }, original: Error: connect ECONNREFUSED 127.0.0.1:3307 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) { errno: -61, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 3307, fatal: true }}
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
route에서 res.status(201).json시 undefined
안녕하세요 선생님게시글 수정을 route에서 처리하고 마지막으로 res.status(201).json(fullPost) 이렇게 게시글 정보를 담아서 보내려는데 자꾸 사가에서 데이터를 undefined로 받습니다..담기 전에 fullPost를 콘솔로 찍어보면 데이터가 잘 들어가 있는데 프론트로 넘어가면 undefined로 바뀌어요.그래서 단순 문자열도 res.status(201).json('성공');이런 식으로 보내봤는데도data가이렇게 undefined로 뜨는건 어느 부분을 봐야 하는 건가요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
오류 질문
검색을 해보니 컴포넌트 명 관련해서 에러 라고 나와져있는데 소스 를 확인해봐도 오타 문제는 아닌거같아 강사님께 여쭤봅니다 ㅠㅜ 무슨문제일까요 ?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
writeHead 부분
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Location에 /login만 해놓으니까 오류만 뜨고 로그인페이지로 안가고 커뮤니티 페이지로 들어가져서 경로를 아래처럼 바꿔더니 로그인페이지로 잘 가지긴 하는데 단순 경로 문제인가요??오류도 정상적으로 쿠키가 없다고 뜹니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
로그인페이지, 회원가입페이지 못들어가게하는 부분
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이 부분에서 axios.get으로 보내주는 쿠키가 없는데 어떻게 유저가 로그인을 했다는게 인증되는건가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강의에서 사용하고 있는 next.js 버전으로 설치는 어떻게 하나요?
현재 next.js를 설치하려고 하면 13.2버전으로 설치가 되고 딱히 특정 버전을 설치해주는 기능은 없는 듯 합니다. 13버전과 강의에서 쓰이는 12버전은 사뭇 다르다고 생각이 듭니다.해당 강의에서 쓰고 있는 버전이 정확히 뭔지. 그리고 해당 버전으로 다운그레이드 혹은 설치를 하려면 어떻게 해야하는지 알려주실 수 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Section Quiz7 에서 질문이 있습니다.
퀴즈7에 있는 소주제 : 컴포넌트 재사용성과 수정 프로세스에서 질문이 있습니다.updateProduct로 수정하는 부분인데요.페이지 모두 만들었는데. 여기서 수정이 완료 됐다고 하는데 데이터가 null값으로 들어가네요..밑에는 container페이지와 queries페이지 입니다.어느 부분이 잘못됏는지 모르겠어서 질문드립니다. http://practice.codebootcamp.co.kr/graphql 에서 create부분에선 seller를 바로 받아오는데 밑에서는 productId로 받아옵니다. 이렇게 된다면 수정페이지 에서는 seller 는 수정 못하게 되는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Use 'import type' 에러 및 eslintrc.json
1. 강의를 똑같이 따라했는데 위와같은 메시지가 뜹니다!import 말고 import type을 쓰라는데 멘토님과 다르게 왜 이런 에러가 일어나는건가요?2. 저는 class파일에 eslintrc.json파일이 없어서 화면보고 그냥 따라 적기만 했는데 문제가 없을까요?