inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기

favorite 변수변화

346

안현지

작성한 질문수 3

0

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

안녕하세요~ add to favorite 버튼을 클릭하면 FavoriteNumber와 Favorited 변수 set을 바꾸는데 set 전 후 콘솔창에 띄어보니까 차이는 없는데 화면상으로는 잘 됩니다. set한 후에도 바뀌지 않는 이유가 궁급해서 질문드립니다~!!

소스코드

express 웹앱 mongodb nodejs react

답변 3

0

jimdac

정확하지는 않지만 여태까지 공부해오면서 본 여러 정황을 봐서는 자바스크립트 자체가 비동기 이기때문에 실행완료에 있어서  순서 차이가 있기때문인거 같습니다. if문내에서 console.log에 찍히는게 setFavorites,setFavoriteNumber  가 실행되기 전에 완료 되었기 때문에 콘솔창에 먼저 찍히고  setFavorites,setFavoriteNumber 완료되었을 가능성이 높습니다. 

0

안현지

아 네 초기값은 저렇게  setFavorites(response.data.favorites) 했습니다.

위 코드는 이제 예를 들어 해당 영화를 아무도 favorite 체크하지 않았을 때 add to favorite 0 이 뜨잖아요

그 상태에서 버튼을 한번 누르면 이제 not favorite 1 이렇게 바꿔잖아요 저 코드가 addtoFavorite 처리 코드인데 이제 FavoriteNumber+1 로 set 해주고 !Favorited 로 하면 초기값 0,False에서 -> 1,True로 바뀔 줄 알았는데 콘솔로 찍어보니까 set하기 전 후 모두 값이 0,False로 같더라고요 신기하게 버튼 은 not favorite 1로 바뀌어져있고요 

이 부분이 궁금해서 질문드렸습니다~. set해줘도 전 후 값이 같아서요

0

John Ahn

안녕하세요 현지씨 
아 혹시 어떠한게 안되는건지 제가 잘 이해를 못할거 같아서요 ㅠ 

그런데    state 값 바꾸실때 

setFavorites(response.data.favorites)

이렇게 해주시겠어요 ~ ??

에러서 요렇게만 해보세요

0

295

1

antd Menu 질문

0

332

1

movieTitle

0

262

1

npm run dev 연결이 안됩니다ㅜㅜ

0

484

1

npm run dev 오류

0

932

1

403 forbidden error

0

1128

2

npm run dev 오류

0

751

1

모듈이 없다는데요

0

1323

1

npm run dev 실행시 오류

0

5507

1

504 Gateway Timeout Error

0

1496

1

컴파일 에러 관련 문의

0

551

1

npm run dev 오류

0

816

1

이미지가 안떠요...

0

418

2

npm run dev 실행하고 인증이 안되는거 같아요

0

579

1

cd client에서 npm install 오류

0

1470

1

npm run dev시 localhost가 자꾸 3000으로 연결됩니다

0

1041

1

Netlify + AWS Elastic Beanstalk 를 이용한 배포

1

1843

1

[nodemon] app crashed - waiting for file changes before starting... Error occurred while proxying request localhost:3000/api/hello to http://localhost:5000/ 해결법

0

485

0

지금 듣기엔 안되는 강의일까요?

0

764

1

사진이 2개 2개씩 다른줄에 나와요 ㅠㅠ

0

479

1

비동기 처리가 영상과 다르게 됩니다..

0

270

0

#2강 npm install

0

843

4

LandingPage.js 내 useState(null) 이용하는 이유

0

244

0

client 부분에 App.js 와 Config.js 위치가 다른데 상관없는 것인가요?

0

406

1