inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Cannot read property 'dispatch' of undefined

미해결

[리뉴얼] React로 NodeBird SNS 만들기

export const getServerSideProps = wrapper . getServerSideProps ( async ( context ) => { context . store . dispatch ({ type : LOAD_USER_REQUEST , }) context . sotre . dispatch ({ type : LOAD_POSTS_REQUEST , }) context . store . dispatch ( END ) await context . sotre . sagaTask . toPromise () }) 위 코드를 실행했을 때 dispatch of undefined라는 오류가 뜹니다. configureStore.js 에서 store와 dispatch의 log를 찍어보면 잘 나오는데 왜 저런 오류가 뜨는걸까요? redux의 전은 6이에요.

  • Next.js
  • express
  • nodejs
  • redux
  • react
댓글 2 좋아요 0 조회수 361

해쉬태그 등록 오류

미해결

[리뉴얼] React로 NodeBird SNS 만들기

이번 강의에 해쉬 태그 등록을 위한 코드들 const hashtags = ~~~ 부분과 if(hashtags) { } 요거를 추가하면은 500에러가 떠요. 왜 이럴까요? const express = require ( 'express' ) const multer = require ( 'multer' ) const path = require ( 'path' ) const fs = require ( 'fs' ) const { Post , Image , Comment , User , Hashtag } = require ( '../models' ) const { isLoggedIn } = require ( './middlewares' ) const router = express . Router () try { fs . accessSync ( 'uploads' ) } catch ( error ) { console . log ( 'uploads 폴더가 없으므로 생성합니다.' ) fs . mkdirSync ( 'uploads' ) } // multer 셋팅 const upload = multer ({ storage : multer . diskStorage ({ destination ( req , file , done ) { done ( null , 'uploads' ) }, filename ( req , file , done ) { const ext = path . extname ( file . originalname ) // 확장자 추출(.png) const basename = path . basename ( file . originalname , ext ) // 이름 추출(제로초) done ( null , basename + '_' + new Date (). getTime () + ext ) // 이름_1518123131.png }, }), limits : { fileSize : 20 * 1024 * 1024 }, // 20MB }) // 게시글 작성 router . post ( '/' , isLoggedIn , upload . none (), async ( req , res , next ) => { try { // const hashtags = req.body.content.math(/#[^\s#]+/g) const post = await Post . create ({ content : req . body . content , UserId : req . user . id , }) // if(hashtags) { // const result = await Promise.all(hashtags.map((tag) => Hashtag.findOrCreate({ // where: { name: tag.slice(1).toLowerCase() }, // }))); // 결과 [[노드, true], [리액트, true]] // await post.addHashtags(result.map((v) => v[0])); // } if ( req . body . image ) { if ( Array . isArray ( req . body . image )) { // 이미지 여러개면 image: [경로.png, 경로.png] const images = await Promise . all ( req . body . image . map (( image ) => Image . create ({ src : image }))) await post . addImages ( images ) } else { // 이미지 하나만 올리면 image: 경로.png const image = await Image . create ({ src : req . body . image }) await post . addImages ( image ) } } const fullPost = await Post . findOne ({ where : { id : post . id }, include : [{ model : Image , }, { model : Comment , include : [{ model : User , // 댓글 작성자 attributes : [ 'id' , 'nickname' ], }] }, { model : User , // 게시글 작성자 attributes : [ 'id' , 'nickname' ], }, { model : User , // 좋아요 누른 사람 as : 'Likers' , attributes : [ 'id' ], }] }) res . status ( 201 ). json ( fullPost ) } catch ( error ) { console . error ( error ) next ( error ) } }) router . post ( '/:postId/comment' , isLoggedIn , async ( req , res , next ) => { try { const post = await Post . findOne ({ where : { id : req . params . postId } }) if ( ! post ) { // 게시글 존재하는지 확인 return res . status ( 403 ). send ( '존재하지 않는 게시글입니다.' ) } const comment = await Comment . create ({ content : req . body . content , PostId : parseInt ( req . params . postId ), UserId : req . user . id , }) const fullComment = await Comment . findOne ({ where : { id : comment . id }, include : [{ model : User , attributes : [ 'id' , 'nickname' ] }] }) res . status ( 201 ). json ( fullComment ) } catch ( error ) { console . error ( error ) next ( error ) } }) // 좋아요 누르기 router . patch ( '/:postId/like' , isLoggedIn , async ( req , res , next ) => { // PATCH /post/1/like try { const post = await Post . findOne ({ where : { id : req . params . postId }}) if ( ! post ) { return res . status ( 403 ). send ( '게시글이 존재하지 않습니다.' ) } await post . addLikers ( req . user . id ) res . json ({ PostId : post . id , UserId : req . user . id }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 좋아요 취소 router . delete ( '/:postId/like' , isLoggedIn , async ( req , res , next ) => { // DELETE /post/1/like try { const post = await Post . findOne ({ where : { id : req . params . postId }}) if ( ! post ) { return res . status ( 403 ). send ( '게시글이 존재하지 않습니다.' ) } await post . removeLikers ( req . user . id ) res . json ({ PostId : post . id , UserId : req . user . id }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 게시글 삭제 router . delete ( '/:postId' , isLoggedIn , async ( req , res , next ) => { // DELETE /post/10 try { await Post . destroy ({ where : { id : req . params . postId , UserId : req . user . id , }, }) res . status ( 200 ). json ({ PostId : parseInt ( req . params . postId , 10 ) }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 이미지 업로드 router . post ( '/images' , isLoggedIn , upload . array ( 'image' ), ( req , res , next ) => { console . log ( req . files ) res . json ( req . files . map (( v ) => v . filename )) }) module . exports = router

  • redux
  • react
  • express
  • nodejs
  • Next.js
댓글 1 좋아요 0 조회수 260

게시글 삭제 후 리렌더링 문제

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

게시글 삭제 직후 db에서는 바로 삭제가 되는데 브라우저에서 redux devtools로 state를 보면 mainPosts에 반영이 안되어있어요. 새로고침을 해야만 게시글이 사라져요. 어디에 문제가 있는건지 감이 안오네요

  • react
  • redux
  • express
  • nodejs
  • Next.js
댓글 1 좋아요 0 조회수 368

mySQL workbench

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

db는 생성했는데 영상에 나오는 것처럼 mySQL workbench에서 생성된 데이터베이스를 어떻게 띄우는지 모르겠어요 ㅜ

  • mysql
  • redux
  • nodejs
  • react
  • express
  • Next.js
댓글 3 좋아요 2 조회수 486

test에 질문이 있습니다

해결됨

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

현재 App.test.js에는 test()안에 실행중인 코드가 없는 것 같고 test도 react에서만 진행하는데 테스트가 되는게 있나요? 테스트를 하여 성공을 하더라도 무엇을 기준으로 성공한건지 잘 모르겠습니다.. 그리고 백엔드 프론트 DB 등등 다양한 컨테이너가 존재하는데 테스트는 리액트만 진행하네요 이게 도커 환경에서 CI로 배포하는 과정까지 큰 틀에 집중하기 위해 test부분 내용은 의도적으로 생략하고 별다른 동작을 안해도 절차를 보여주기 위해 넣은걸로 보면 될까요??

  • docker
  • travis
  • aws
  • test
  • github
  • react
  • docker
  • travis-ci
  • cicd
  • 데이터 엔지니어링
K. Seonwoo 댓글 1 좋아요 0 조회수 193

post

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

post 형식의 body인데 어떻게 name부터 imgUrl까지 destructuring할 수 있나요??정보가 입력되기 전인데 왜 그런지 궁금합니다..그리고 create({name:name,description:description..})이게 무슨 뜻인지 모르겠어요 key가 name,value가 name이런거를 만들라는건데 잘 이해가 가지 않습니다..ㅜ app . post ( " /products " , ( req , res ) => { const body = req . body ; const { name , description , price , seller , imageUrl } = body ; models . Product . create ( { name , description , price , seller , imageUrl , } ) . then ( ( result ) => { console . log ( " 상품 생성 결과 : " , result ) ; res . send ( { result , } ) ; } )

  • react-native
  • 머신러닝 배워볼래요?
  • tensorflow
  • HTML/CSS
  • nodejs
  • react
  • javascript
  • express
댓글 1 좋아요 1 조회수 169

리액트 화면 잘림

미해결

세로가 길면 화면이 잘리는 현상이 있는데 어떻게 해결해야 될까요?

  • 리액트
  • react
  • reactjs
김호태 댓글 0 좋아요 0 조회수 482

실무에서 styled-components 업무

미해결

[리뉴얼] React로 NodeBird SNS 만들기

제로초님 궁금한게있어서 문의드립니다. styled-components 사용해서 react를 개발하려면 기존에 디자이너가 디자인을 해주고 그걸 마크업(퍼블리셔)가 html과 css파일로 주는 방식으로 업무를 진행하고있는데, styled-components를 이용하는 회사들은 마크업 업무를 프론트 개발자들이 다 하게 되는건가요? 실무에서는 업무롤이 어떻게되어서 진행되는지 궁금합니다.

  • redux
  • react
  • express
  • nodejs
  • Next.js
kaka0712 댓글 1 좋아요 0 조회수 226

강의 잘 듣고 있습니다.

미해결

대세는 쿠버네티스 (Helm편)

먼저 올려주신 대세는 쿠버네티스를 수강하고 현재 이 헬름 강의를 수강하고 있습니다. 저는 react(javascript) 나 spring boot(java) 로 web 개발에 관심이 많습니다. 가능하시면 실제 배포를 예로 구성해주시면 실제 실무환경과 가깝게 구성하는 연습을 할수 있을것 같습니다. 간단하게 실제 어플리케이션을 배포하는 환경을 구성해 보아주시면 안될까요 ^^ 부탁드립니다.

  • react
  • kubernetes
  • springboot
  • deploy
castinglife 댓글 2 좋아요 1 조회수 330

클린업에 대해 궁금한 점이 있습니다!

미해결

실전 리액트 프로그래밍

예제를 보면 useEffect를 사용해서 등록된 이벤트 리스너 addEventListener(), removeEventListener() 를 클린업 해주는데, 이렇게 처리하는 이유가 궁금합니다. 또 리엑트에서는 왜 클린업을 해줘야 하는건가요?

  • react
  • redux
  • react
wjdxor133 댓글 2 좋아요 0 조회수 507

analyze 질문이여

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

저는 antd이게 이만한데 왜케크죠???ㅋㅋ.. 혹시 이거 정상인가여? 아님 제가뭐 잘못한건가요??

  • nodejs
  • redux
  • express
  • react
  • Next.js
댓글 1 좋아요 0 조회수 252

map undefined 오류 질문드립니다

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

코드를 혼자 짜보려고 하는 중에 type error:cannot read property 'map' of undefined가 뜹니다. 서버쪽은 postman연동했을때 잘 뜨는데 논리 하자가 있는 것 같습니다..ㅠㅠ뭐가 문제일까요 main/index.js import " ./index.css "; import axios from " axios "; import React from " react "; import { API_URL } from " ../config/config.js "; function MainPage () { const [ products , setProducts ] = React . useState ([]) ; React . useEffect ( function () { axios . get ( `${ API_URL } /products ` ) . then ( function ( result ) { console . log ( " RESULT값: " , result ) ; const products = result . data . products ; setProducts ( products ) ; } ) . catch ( function ( error ) { console . log ( " error발생 " ) ; } ) ; }, []) ; return ( < div > < div id = " banner " > < img src = " images/banners/banner1.png " /> </ div > < h1 > 판매되는 상품들 </ h1 > < div id = " product-list " > { products . map ( function ( product , index ) { return ( < div className = " product-card " > < div > < div className = " product-contents " > < span className = " product-name " >{ product . name }</ span > < span className = " product-price " >{ product . price } 원 </ span > < div classNmae = " product-footer " > < div className = " product-seller " > < img className = " product-avatar " src = " images/icons/avatar.png " /> < span >{ product . seller }</ span > </ div > </ div > </ div > </ div > </ div > ) ; } ) } </ div > </ div > ) ; } ####App.js export default MainPage ; import " ./App.css "; import MainPageComponent from " ./main "; function App () { return < MainPageComponent /> ; } export default App ; ##server const express = require ( " express " ) ; const cors = require ( " cors " ) ; const app = express () ; const port = 7070 ; const models = require ( " ./models " ) ; app . use ( express . json ()) ; app . use ( cors ()) ; app . get ( " /products " , ( req , res ) => { models . Product . findAll ( { attributes : [ " id " , " name " , " price " , " imageUrl " , " seller " , " createdAt " ] , } ) . then ( ( result ) => { console . log ( " RESULT값 : " , result ) ; res . send ( { product : result , } ) ; } ) . catch ( ( error ) => { console . error ( " ERROR가 발생하였습니다: " , error ) ; } ) ; } ) ; app . listen (port , () => { console . log ( " 그랩 마켓의 서버가 돌아가고 있습니다. " ) ; models . sequelize . sync () . then ( () => { console . log ( " ✓ DB 연결 성공 " ) ; } ) . catch ( function ( err ) { console . error ( err ) ; console . log ( " ✗ DB 연결 에러 " ) ; process . exit () ; } ) ; } ) ;

  • 머신러닝 배워볼래요?
  • react-native
  • javascript
  • react
  • HTML/CSS
  • express
  • nodejs
  • tensorflow
댓글 2 좋아요 1 조회수 545

[MAC] create-react-app에서 permission 에러 해결책

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

질문은 아니구요. 같은 문제로 고생하시는 분들이 많아 제 방법을 공유합니다 1) root 비밀번호 설정 2) 관리자 권한으로 설치 아래는 제가 찾은 링크이니 참고하세요 root 비밀번호 설정 https://heeestorys.tistory.com/877 관리자 권한으로 설치 https://online.codingapple.com/unit/react1-install-create-react-app-npx/

  • nodejs
  • javascript
  • 머신러닝 배워볼래요?
  • react
  • HTML/CSS
  • react-native
  • tensorflow
  • express
김준영 댓글 2 좋아요 2 조회수 421

노드 모듈스 파일 질문입니다.

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

저번 강의까진 노드 모듈스 파일이 없었고 갑자기 생겨서 저도 다운받으려고 create-react-app .을 했는데 사진처럼 뜹니다. web이란 폴더 안에 market_web, marker_server 두개의 폴더가 있고 market_web에 깔려있다고 다른 파일인 marker_server에 깔 수 없는건가요?

  • javascript
  • react-native
  • react
  • HTML/CSS
  • express
  • nodejs
  • 머신러닝 배워볼래요?
  • tensorflow
gakaotalk 댓글 4 좋아요 1 조회수 489

에러가 뜨는데 다 고쳐도 원인을 모르겠어요.

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

깃헙에있는 강사님 소스 내용으로 다 덮어씌어도 똑같은 에러가 뜹니다 ㅠㅠ..

  • graphql
  • rest-api
  • react
스타현이 댓글 5 좋아요 0 조회수 513

프로필 페이지에서 새로고침 시 오류

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

안녕하세요, 처음에 로그인하고 프로필로 들어가면 에러가 안나는데, 프로필페이지에서 새로고침을하면 이런 에러가뜹니다. 팔로워 팔로잉 없을때 오류인줄알고 한명씩 넣어봐도 똑같이 뜨네요,, 그래서 제로초님 코드 복붙해봐도 그대로인거 보면 코드오류는 아닌거같은데 혹시 프로필페이지 에서 새로고침시 오류뜨는거 이거 왜그럴까요..??

  • nodejs
  • react
  • redux
  • express
  • Next.js
댓글 0 좋아요 1 조회수 245

https를 위해 nginx를 도입하는 이유

미해결

[리뉴얼] React로 NodeBird SNS 만들기

안녕하세요, 제로초님! 항상 강의 정말 잘 듣고 있습니다. 더 많은 걸 가르쳐주려고 해주셔서 항상 감사합니다. 다름이 아니라, 강의에서 https의 도입을 위해 nginx를 사용하셨는데, EC2에 직접 https를 적용하지 않는 이유가 있으실까요? 프론트 / 백 모두 nginx 서버가 하나씩 추가되는 격 같은데, 이로 인한 이점이 뭔지 궁금합니다. 감사합니다!

  • https
  • nodejs
  • nginx
  • ec2
  • react
  • redux
  • express
  • Next.js
haileykmrp 댓글 1 좋아요 0 조회수 242

https와 stateless에 관해서 질문 드립니다.

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

1. https에서 공개키 방식을 이용해서 직접 메세지를 암호화하지 않는 이유가 공개키 방식을 사용하면 암호화하고 복호화하는 속도가 느리기 때문에 상대적으로 속도가 빠른 대칭키 방식을 사용한다고 알고 있습니다. 그런데 https도 http이고 그러면 stateless 특징을 갖고있어서 데이터를 한번씩만 주고 받으면 어차피 끊어질텐데 굳이 대칭키 방식으로 데이터를 주고 받는 이유가 뭘까요? https에서는 stateless 특징이 적용되지 않는건가요?

  • https
  • network
  • stateless
shef 댓글 1 좋아요 6 조회수 406

세션에 관해서 질문드립니다.

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

1. https에서 세션 키라고 해서 하나의 통신 세션에서 모든 메시지를 암호화하기 위해 사용되는 1회용 대칭키라고 하는게 있다는 것을 알았는데요. 여기서 세션 키에 세션이 강의에서 나온 세션과 같은 의미로 사용되는게 맞나요??

  • 세션
  • https
  • network
  • 세션키
shef 댓글 1 좋아요 1 조회수 338

인기 태그

인프런 TOP Writers

주간 인기글