inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

구독 기능 (2)

state변화시 렌더링 질문

248

으하핳

작성한 질문수 34

1

let [SubscribeNumber,setSubscribeNumber]=useState(0)
let [Subscribed,setSubscribed] = useState(false);
//버튼 클릭시마다 실행되는 함수
if (Subscribed) {
Axios.post('/api/subscribe/removeFromSubscribe',subscribeVariable)
.then(response=>{
if (response.data.success) {
setSubscribeNumber(SubscribeNumber-1);
setSubscribed(!Subscribed);
} else {
alert('Fail at Remove Subscribe')
}
})
}
1.setSubscribeNumber와 setSubscribe를 통해 state 변화시
컴포넌트가 다시 렌더링된다고 알고 있는데여
그럼 이 경우는 setSubscribeNumber한 후 렌더링 =>
setSubscribe한 후 다시 렌더링하고 종료
그러니깐 버튼 클릭시마다 총 2번의 렌더링을 실행한다고 보면 될까요?
2. setSubscribeNumber실행시 state변화가 먼저 일어나고
렌더링이 일어나는지 혹은 변화되기 전의 state값으로 렌더링 후
state변화가 일어나는지 순서가 헷갈리는데 무엇이 맞을까요?
3. useEffect(callback, []) =>여기서 2번째 인자로 []를
넘기면 componentDidMount처럼 행동한다고 봤는데
실무에서도 이렇게 자주 사용하시나요?
항상 너무나 감사합니다.혼자 처음부터 만들어보려는데 쉽지 않네요.
이거 얼른 다하고 결제해놓은 쇼핑몰도 할 생각입니다.

nodejs redux react mongodb

답변 1

2

John Ahn

안녕하세요 ~!!! 

1.  네 맞습니다 ^^ 
2. 렌더링이 일어나려면 state이 변화가 있어야 하기 때문에  먼저 state이 변화가 일어난후 렌더링이 진행됩니다 ^^ 
3. 넵    !  실무에서 Hook을 사용하고 있다면 많이 쓸수밖에 없습니다 ^^ 
그리고 만약     hello 라는  state이 있고  그 hello라는 state이 변할때 마다 해당하는 useEffect를 다시 사용하려면 
[] 이곳안에  [hello] 이렇게 해주시면 됩니다 ~ ! 

수고하세요 ^^ ~ ! 

npm i하면 바로, 라이브러리 오류없이 받아지고, 구동되는 소스는 없나요?

0

52

1

ERROR in ./node_modules/antd/es/version/index.js 2:15-22

0

221

1

자료 없음

0

322

1

이미지 깨짐

0

336

1

npm run dev 동작 에러

0

304

1

npm run dev 동작 에러

0

295

1

npm run dev 동작에러납니다...

0

661

1

npm run dev 실행 오류

0

653

1

비디오 업로드, 로그인, 회원가입 504 error

0

1057

1

시작부터 오류생기시는 분들 해결법입니다.

1

467

1

오류 해결 공유

0

459

1

npm install 에러 질문드립니다.

0

1121

2

아예 몽고DB에 연결한다고만 하고 연결이 안되고 있습니다.

0

550

1

해당 오류 해결 방법 좀 알려주세요 ㅠㅠ

0

516

1

로컬스토리지에 대한 질문입니다!!

0

515

0

video가 안 나타나는 문제

0

894

1

ffmpeg 설치 후 cannot read property 'format' of undefined 500 에러 해결

0

471

0

typeError or 콘솔 500 뜨는분..

0

336

0

npm run dev 관련 오류

0

578

1

답글이 달리지않고 디비에도 저장되지않으며 새로고침이 됩니다.

0

246

0

useState 자동 생성

0

347

1

TypeError: Cannot read properties of undefined (reading 'format')

0

1246

2

userData undefined / state에 user.userData가 없습니다.

0

248

0

antd Input background color 변경

0

242

0