묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
제로초님 질문드립니다ㅜㅜ
const express = require('express'); const bcrypt = require('bcrypt'); const { User } = require('../models') // 구조분해 할당 const router = express.Router(); router.post('/', async (req,res,next)=> { try { const exUser = await User.findOne({ where : { email: req.body.email, } }); // 비동기 fidOne 찾는 함수 if (exUser) { return res.status(403).send('이미 사용중인 아이디입니다.'); } const hashedPassword = await bcrypt.hash(req.body.password, 12) await User.create({ email: req.body.email, password: hashedPassword, nickname: req.body.nickname, }) res.status(200).send('success'); } catch (error) { console.error(error); next(error); } }) module.exports = router; 이미 있는 이메일로 가입 했을경우, status 403과 send로 에러 메세지를 보냈습니다. 이미 있는 이메일로 가입 했을 경우에 SIGN_UP_REQUEST 만 실행되고 SIGN_UP_FAILUTE 실행되지 않아 alert창이 뜨질 않습니다 ㅠㅠ 뭐가 문제 일까요..
-
미해결실전 리액트 프로그래밍
setState 비동기 처리관련질문입니다.
제가 setState가 비동기처리이면서 배치이다 라는것을 보면서 궁금한 점이생겼는데요.. onAdd함수를 보면 currentId를 1증가시키고, todo변수에 값을 할당한뒤 setTodoList에 값을 넣어서 렌더링하는 순서인데요. 만약에 동기처리처럼 onAdd버튼을 클릭시 currentId에 1을 증가한후, 그값을 todo에 넣은뒤 그 값을 setTodoList에 반영 하고 싶다고면 어떻게 해야할까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
AppLayout.js 에서
AppLayout.prototype = { children: Protypes.node.isRequired } 꼭 사용해야 next 에서 children 를 사용할수 있는건가요? react에서는 prototype을 사용하지 않고 children를 사용한것으로 기억해서요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
redux-saga 의 흐름.
질문1. 리덕스사가에 액션이 전달되는 과정 dispatch({ type: LOG_IN_REQUEST, data: { email, password }, }); 위와 같이 로그인 버튼을 눌렀을때 인자로 전달된 액션을 dispatch 하게 되는데. function* watchLogIn() { yield takeLatest(LOG_IN_REQUEST, logIn); } 이후 사가에서 LOG_IN REQUEST 에관한 액션이 왔을떄 login 함수가 실행된다는 흐름은 이해를 했습니다. 하지만 액션객체의 type 속성인 LOG_IN_REQUEST 가 어떻게 위에 takeLatest 의 첫번째 인자로 인식이되어 login 함수가 실행되는지 직관적으로 이해가 가지않습니다. 이미 사가 라이브러이에서 정해진 규칙같은 건가요 ? 액션을 디스패치 할때 {type: `액션타입`} 형태여야만 takeLatest('액션타입') 이 인식이되는지 궁금합니다. 질문2. yield function* logIn(action) { try { console.log('saga logIn'); // const result = yield call(logInAPI); yield delay(1000); => 멈춤? yield put({ => 멈춤? type: LOG_IN_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: LOG_IN_FAILURE, error: err.response.data, }); } } yield 는 중단점 역활을 한다고 이해했습니다. 그럼 위에 takeLatest 의 두번째인자로 위 login 함수가 실행될때 첫번째 yield delay(1000) 이 실행되고 멈추는게아니라 계속에서 아래 yelid put 쪽을 실행되는부분이 이해가 잘 가지않습니다.! 영상 몇번 돌려보고 찾아도 봤는데 스스로 해결하지 못해 질문 드립니다 ㅜㅠ..
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
axios.defaults.baseURL 지정 후, 다른 서버에 요청을 보내려면?
/front/sagas/index.js 에서 axios.defaults.baseURL = 'http://localhost:3065'; axios.defaults.withCredentials = true; 이렇게 공통으로 지정을 해주는데, 만약에 예외적으로 다른 URL을 사용하고 싶으면 어떻게 하나요? function loadPostsAPI(data) { return axios.get('http://naver.com/test', data); } 이런식으로 개별적으로 URL 넣어주면 될까요? 아니면 애초에 공통URL을 지정해주지 말고 각자 넣어줘야 하는걸까요? 공통URL과 더불어 withCredentials 값도 각자 넣으려면 어떻게 해야하는지 궁금합니다!
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
models 최신 문법으로 변경 후
index 페이지에 /Posts 요청에서 sequelizeeagerloadingerror Image is not associated to Comment 에러가 나고 로그인도 안되요 models 폴더 말고 다른 파일도 수정해야하는 곳이 있나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
Router 를 사용해 SSR 페이지 이동할 때 질문입니다!
/user/[id].js 로 Link 태그를 통해 접근했을 때 userInfo 가 null 인 에러를 해결하려고 이것저것 해보던중 /user/[id].js 안에 {/* <title>{userInfo.nickname}님의 글</title> <meta name="description" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:title" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:description" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:image" content="https://nodebird.com/favicon.ico" /> <meta property="og:url" content={`https://nodebird.com/user/${id}`} /> */} Head 안에 위 부분을 주석처리하니까 정상적으로 렌더링 되었어요! 혹시 원인이 뭔지 알 수 있을까요? 스크립트가 실행되기 전 Head 안에 userInfo 를 찾다가 에러를 나는 것인지.. 다른 이유에서인지.. 그리고 제로초님 깃헙 클론받아서 실행할 때 next 디펜던시 버전을 9.5.3으로 변경해서 실행해보니 저와 동일한 에러가 났었어요 혹시 확인 가능하실까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
댓글에 writer 정보가 넘어오지 않습니다
안녕하세요. 강의 재미있게 잘 듣고 있습니다! 다름이 아니라 며칠째 해결해보려고 올려두신 github 소스코드와 비교하며 해결해보려고 했으나 좀처럼 해결이 되지 않아 질문 드립니다. 댓글 기능 (3) SingleComment의 약 15분 경에 해당하는 댓글 리스트를 console에 찍어내는 것까지는 성공했습니다. 이를 화면에 출력하고자 하는데 댓글 내용은 잘 나오지만 댓글 작성자의 이름과 프로필 사진이 나타나지 않는 문제가 발생하였습니다. 출력된 에러 메세지는 다음과 같습니다. console.log로 props.comment.writer.name을 출력하면 잘 나오기는 하던데 어떤 부분이 문제인지 알 수 있을까요?? https://github.com/coding-Benny/react-youtube-clone
-
미해결실전 리액트 프로그래밍
에러 처리 질문
안녕하세요. 강의를 따라 코드를 치던 중 화면과 같은 에러가 발생했습니다. 검색 후 상단에 보이는 것처럼 코드를 추가하였지만 해결되지 않고 있습니다. 어떻게 하면 될까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
vscode 에서 vim 으로 .env 파일을 만드는데 안되요...
vscode에서 git bash 로 사용 했는데 다 작성하고 esc 누르고 wq 누르고 엔터 눌러도 반응이 없습니다..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
이미지 업로드 -> 취소 -> 업로드 관련 질문
이미지 업로드와 관련해서 궁금한게 있습니다. 업로드 버튼을 눌러 이미지를 하나만 선택한 뒤 제거 버튼을 눌러 제거하면, 다시 같은 이미지를 선택했을 때 업로드가 안됩니다. 에러가 발생하는 게 아니라 아예 UPLOAD_IMAGES_REQUEST 액션이 디스패치되지 않아요. 제 나름대로 코드를 살펴봤지만 액션이 디스패치되지 않는 이유를 알 수가 없습니다. 원인이 뭔지 알려주시면 감사하겠습니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
파일필터
파일필터 정상작동여부 판단을 위해서 mp4가 아닌 png를 올려보앗는데 업로드폴더에 들어갑니다 ㅠㅠ
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
노드 리액트 기초 강의 #12 토큰 생성 with jsonwebtoken 강의 중 오류 ㅠㅠ
기초 강의 12번 부분에서 이러한 에러가 나는데 이유를 못찾겠습니다. ㅠㅠ 윗 부분은 제 소스코드입니다. 비밀번호를 틀리게 보내면 loginSuccess: false로 제대로 오는데 비밀번호를 올바르게하면 맨 윗 사진과같이 답변이 오네요 ㅠㅠ