무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인후 앱 크러쉬
https://github.com/lhj1004ss/LoginAndRegister_react-node ERROR: Cannot set headers after they are sent to the client 포스트맨으로 로인후에 유저토큰만 완성되고 바로 앱이 크러쉬됩니다. 구글링을 좀해보니, 이 에러가 보통 콜백이 서버에서의 아웃풋이 클라이언트로 생각했던것보다? 일찍 갔을 때 나오거나 콜백을 두번불렀을 때 나오는 에러라고 하는데, 코드를 검토해도찾을 수 없어서 여기에 올립니다!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
redux에서의 return
안녕하세요. redux에서 궁금한게 있습니다. dispatch(loginUser(body)) //dispatch(action이름) .then(response => { if(response.payload.loginSuccess) { props.history.push('/') // 리액트에서 페이지 이동 시키는 방법 } else { alert('Error') } }) dispatch에서 then으로 오는 reponse값이 loginUser (action)의 리턴값인가요? reducer의 case문에서 action type이 맞는것에서 리턴값인가요? if문 조건을 보고 추측하기로는 전자가 맞는 것 같은데 그러면 switch(action.type) { case LOGIN_USER: return {...state, loginSuccess: action.payload} reducer에서 리턴값은 어디로 리턴이 되어서 쓰이는 건가요?
- 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
선생님 제발 도와주세요
삭제된 글입니다
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
경로가 안잡혀요 도와주십쇼..
nodemon] restarting due to changes... [0] [nodemon] starting `node server/index.js` [1] Failed to compile. [1] [1] ./src/index.js [1] Module not found: Can't resolve '_reducers' in '/Users/hwangjeonghyeon/Documents/boiler-plate/client/src' [0] the options [userNewUrlParser] is not supported [0] (node:2836) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect. [0] (Use `node --trace-deprecation ...` to show where the warning was created) [0] Example app listening at http://localhost:5000 [0] MongoDB Connected .... https://github.com/HWANGJEONGHYEON1/boiler-plate-to 깃 헙 주소입니다!
- 따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
포스트맨 결과
삭제된 글입니다
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
스키마이름문의
질문있는데요. 아래처럼 userSchema 생성하는데요. const userSchema = mongoose.Schema({ }) 몽구스디비에 생성된데 users이네요. 소스어디에도 users라는단어가 없는데 지가 알아서 user에 s 붙여서 테이블생성하는건가요? 이해가 안되는부분이라 문의드립니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
리덕스 어렵네요.
강의 잘보고있는데 너무 어렵네요.1. user_action.js에서 user_reducer.js와의 연결고리가 없는데 어떻게 저파일을 찾아가는건지 궁금합니다.2. types.js에 LOGIN_USER= "login_user" 지정해주는데 "login_user" 값은 어디서도 사용안된 값인데 왜 저리 지정되는지도 모르겠는데 답변주시면 많은 도움이 될거 같습니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
react reload
안녕하세요! 현재 30강까지 들었는데 궁금한 사항이 있습니다. 1. 강의에서는 npm run dev를 하고 client 코드를 바꾸면 다시 멈췄다가 실행하지 않아도 다시 reload 되는 것 같은데 저는 새로고침을 해도 변화가 없습니다ㅠㅠ 예를들어 29강에서 LandingPage의 글자를 시작페이지로 바꾸신거에서 저는 계속 LandingPage라고만 뜹니다. 변경할 때마다 재실행해야하나요? reload를 하기위해서 해야할 설정이 있는 건가요? 2. npm run dev 입력시 백이랑 프론트가 동시에 켜지는건데 원래 엄청 느린건가요? (영상보면 금방 되시는것 같은데 저는 쫌 오래걸려서 궁금했습니다)
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
소스는 어디서 확인가능한가요?
안녕하세요. 강의 감사드립니다. 에러로 막히면 잘못된 소스없나 비교가 필요한데 소스는 어디서 확인가능한가요
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
회원 가입 할때 에러나는 부분들이 있어서여
안녕하세여 john ahn 님 저 ㅈㅅ한데 처음부터 강의를 다시 듣는중인데 이부분에서 다시 에러가 나서여 저번에 알려주셨던것도 같은데 좀 되서 잊어버렸어요 ㅈㅅ 회원 가입한뒤에 몽고 디비에서 다음과 같이 확인이 되고 회원가입 두번째 시도에 에러가 발생해서여 왜 그런지 알려주시면 대단히 감사여postman의 메세지는 result: { "success": false, "err": { "driver": true, "name": "MongoError", "index": 0, "code": 11000, "keyPattern": { "email": 1 }, "keyValue": { "email": null } } } 몽고 디비의 저장 형식도 좀 이상하고 두번째 회원 가입이 실패하는것도 이해가 안가여 아이디를 바꿔서 회원 가입 해도 두번째부터 에러가 발생해여
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
선생님의 github 예시로 가입/로그인을 해도 에러가 납니다.
안녕하세요. 제가 작업한 작업물에서 오류를 해결하지 못해서 선생님의 작업물을 받아서 돌려보았는데요, 추가한 건 dev.js(제가 쓰던 파일을 그대로 복사해서 사용했습니다.) root와 cilent애 전부 npm install 해주었고, 추가로 bcrypt 오류가 떠서 npm install bcrypt --save 해주었는데, 콘솔창에서 에러가 뜨지는 않지만, 알림창으로 Failed to sign up이라고 뜨는 것으로 보아 dispatch(registerUser(body)) .then(response => { if (response.payload.success) { props.history.push("/login") } else { alert("Failed to sign up") } }) 이 부분에서 계속 돌고 있는 것 같습니다. 다른 분들은 질문을 하시지 않은 것으로 봐서 제 로컬 문제 같은데요... 리덕스 구축할 때 혹시 로컬에서 확인해야 할 부분이 있으면 다시 짚어주시면 감사하겠습니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
선생님 ㅠㅠ 질문이요
로그인 기능 구현중 빨간줄로 오류가 나서 서버 스타트를 하지 못하는 상황인데.. 전 선생님과 코드를 똑같이 진행했는데 왜 오류가 나는 걸까요?ㅠㅠ 단순 오류 같은데 못찾겠어서 이렇게 질문 드립니다.. 그리고 무료로 좋은 강의 해주셔서 감사합니다 !!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
화살표 함수와 fucntion 함수의 차이가 궁금합니다
userSchema.pre('save', (next) => { var user = this; if (user.isModified('password')) { //비밀번호 암호화 시키기 bcrypt.genSalt(saltRounds, function (err, salt) { if (err) return next(err); bcrypt.hash(user.password, salt, function (err, hash) { if (err) return next(err); user.password = hash; return next(); }); }); } else { return next(); } }); --------------------------------------- 윗부분은 제 코드입니다 7강에서 강사님 코드 userSchema.pre('save', function (next) { } <-을 저는 ->userSchema.pre('save', (next) => { } 으로 하니까 오류가 나더라구요.. 왜 화살표 함수로 인자를 보내면 오류가 날까요 화살표 함수 사용시 {} 안에 return 해야한다는것을 알고 return next() 를했는데도 안되더라구요 ㅠㅠ 알려주세요!
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Auth 기능 만드는 걸 다 완성은 했는데 테스트는 어떻게 하나요?
소스상의 에러는 없어보이는데 이건 POSTMAN으로 어떻게 테스트를 할 수 있을까요 ..?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
schema에 관련되서 질문이 있습니다.
일반적으로 schema를 정의하는 게 데이터베이스에 데이터를 넣을 때 체크를 해서 넣어주는 것으로 알고있습니다. 그런데 뒷편 강의에서 포스트맨으로 json 방식으로 회원가입을 실행하더라구요... 이게 schema를 정의해주면 몽고디비에서 알아서 테이블을 생성해주는 기능이 있는건가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
12강 토큰생성 질문드립니다.
안녕하세요! 강의 너무 잘듣고있습니다. 진행중에 막히는 부분이 생겨 질문드립니다. generateToken을 할때 token을 만들어주고 model 단에서 user.save()를 통해 token을 저장한다고 알고있습니다. 그런데 save() 함수에 들어간 후 부터 response가 오지 않고, 에러도 뜨지 않으며 sending request 에서 멈추는 현상이 있습니다. 1. save 함수 이전까지 console로 찍어서 동작이 되는걸 확인하였습니다. 코드가 같은데 왜 이런현상이 일어나는지 잘 모르겠습니다 ㅠㅠ 제 생각에는 var user = this; 에서 mongoose 객체를 가져올때 문제가 생기는거 같습니다. (이전 회원가입때 사용한 save() 함수는 ctrl 을 눌러서 해당 함수로 이동이 가능하지만 로그인에서 사용한 save() 함수는 함수로 이동이 안되었습니다.) user.save(function (err, user) { console.log("test") // 해당 로그도 출력이 안되는걸로 보아 save function에서 어떤 문제가 있는것 같습니다. ㅠ if(err) return cb(err); cb(null, user); }); *추가 07/28* app.post('/api/users/login', (req, res)=>{ // email을 db에서 조회 User.findOne({email : req.body.email}, (err, userInfo) => { if(!userInfo){ return res.json({ loginSuccess : false, message : "일치하는 이메일이 없습니다." }) } // email이 있다면 비밀번호 체크 userInfo.comparePassword(req.body.password, function(err, isMatch) { if(!isMatch){ return res.json({loginSuccess:false, message:"비밀번호가 틀렸습니다."}); } //비밀번호까지 맞으면 토큰 생성. userInfo.generateToken((user) => { const userSave = new User(user) userSave.save((err,userInfo)=>{ // 가져온 토큰으로 저장 if(err) return res.status(400).send(err); res.cookie("x_auth", userInfo.token) .status(200) .json({loginSuccess:true, userId: userInfo._id}); }) }); }); }) }); User.js 에서 const user = this; 로 받아올때 user 정보는 정상적으로 가져오지만, save() 함수는 호출할 수 없는걸 확인했습니다. 그래서 위와 같이 app.js 에서 해결했는데 괜찮은가요? https://www.inflearn.com/questions/30724 이 글이랑 비슷한 증상인것 같습니다. 2. 부가적인 질문입니다. save() 함수 안에서 선생님께서는 if(err) return cb(err); // save 실패시 cb(null, user); // save 성공시 이와 같이 코드를 작성하셨는데, if 단에서는 callback 함수를 return 해주는데 성공시에는 왜 return을 사용하지 않고 cb 함수를 호출하는지 알수있을까요? 두가지의 차이가 무엇인지 궁금합니다. 혹시나 도움이 되실까 싶어 github 주소를 남기겠습니다. https://github.com/dding-g/node-study 감사합니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
안녕하세요 선생님!
일단 좋은 강의 넘나 감사합니다!! Node만 사용하다가 React를 처음 사용해봐서 react의 state라는 부분에 대해 궁금한 점이 많은데요, 1. 가장 생소하게 느껴지는 부분은, state에서 onChange가 있을 때, 이 변화를 반영해주는 코드를 작성하는 부분입니다! 일반적인 html에서는 input 태그에서 value의 변화를 반영해주는 코드를 작성해주지 않아도 자동으로 인식을 하는데, react에서 이렇게 변화하는 부분을 반영하는 코드까지 작성하는 것은 react의 특성인가요? 아니면 혹시 react의 state라는 개념과 어떤 밀접한 관련이 있는건가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Collections에서 데이터 확인
안녕하세요 :) PostMon을 통해 보낸 데이터들을 확인하려고 Collections에 들어갔는데 잘 안나와서 아래있는 질문들도 확인하고 앞에 강의도 확인하고 구글링도 다 해봤는데 뭔가 조금 이상하다는 생각이 들어서 질문드립니다. Collections를 누르면 이렇게 아무 것도 안뜨고, Add my own data를 누르면 아래와 같은 창이 뜹니다. Collections를 눌렀을 때, 이와 같은 창을 확인 할 수 있는데, 여기서의 Database name이 "mongodb+srv://june:<password>@nodejspractice.xjqzt.mongodb.net/<dbname>?retryWrites=true&w=majority" 이 코드에서의 <dbname>을 의미하는 건가요? 앞선 강의에선 <dbname>부분이 test로 세팅이 되어있는데, 현재는 을 채우도록 되어있습니다. 이때 <dbname>부분에 무엇을 넣느냐를 고민하고 있고, 여러 시도를 해봤는데 진전이 없어서 질문드립니다. 감사합니다
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
user라는 변수 선언없이
안녕하세요. 수업시간에 var user = this 로 직접 넣어서 하시는 것을 보고, 이것과는 다르게 password를 가져올때, user라는 변수를 따로 만들지 않고 바로 this.password 라고 사용했더니 success: false가 뜹니다 분명 console.log(this)와 console.log(user)를 찍어봤을때 둘다 넘어오는 값은 같은 것으로 확인되는데, 왜 꼭 변수에 this를 넣어야만 하는건가요?
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
postman에서 회원가입 정보를 보내는데 오류가 나옵니다.
삭제된 글입니다