inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

5-6. 클래스와 Hooks 라이프사이클 비교

UseEffect 관련 조금은 복잡한 질문입니다. (수정)

327

hello

작성한 질문수 43

2

제로초님 안녕하세요 덕분에 리액트에 쉽고 재밌게 입문하게 되어서 지금은 혼자 독학중인 학생입니다. 다름이 아니고 리액트 훅스를 적용한 프로젝트를 하는 도중 UseEffect의 동작이 이해되지 않아서 이렇게 질문 드립니다.

axios로 받아오는건 그냥 길이 7짜리 배열입니다.

우선 useEffect가 렌더링 직전에 호출이 되니 5번까지는 이해가 갑니다. 그리고 useEffect가 실행되자 TodoProvider 함수가 다시 렌더링되는데 이는 axios로 데이터를 받아오면서 state의 값이 초기화되어 그런 것으로 이해했습니다.

그리고 axios로 데이터를 받아오는데에 시간이 걸리니 5 다음엔 6, 7, 8, 9가 빠르게 출력되는 것으로 이해했습니다. 근데 이럴경우 문제는 axios로 데이터를 받아오기도 전에 7, 8에서는 받아온 데이터를 출력하는데 심지어 그 이후에 출력되는 10과 11에서는 아직 받아오지 못한 것으로 나와서 너무 이해가 가지 않아서 질문 드립니다.

react

답변 1

2

제로초(조현영)

다시 렌더링되는 이유는 state가 dispatch로 인해 변경되었기 때문이고요.

10, 11이 안 나오는 이유는 console.log한 state가 dispatch가 적용되기 전 과거의 state이기 때문입니다. dispatch를 한다고 해서 그 다음줄에 나오는 state가 바로 dispatch 후의 state가 되지 않습니다.

npm run dev 실행 시 포트가 안뜨는 문제

0

202

2

timeouts.current를 useEffect 의 input값으로 넣었을때

0

85

2

렌더링 테스트 코드 (Hooks)

0

80

1

Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.

0

149

1

해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"

1

191

1

강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ

0

95

1

useMemo와 useCallback 사용 시기

0

205

2

onRightClickTd가 작동을 하지 않습니다.

0

226

1

action.type 불러오는 방식

0

222

2

onClickRedo 질문

0

172

1

const Try = require(./Try) 빨간줄

0

248

1

npx webpack 실행시

0

313

1

지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.

0

234

1

강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?

0

311

1

react devtool이 enable 않됩니다.

0

530

2

React 랜더링이 되지 않습니다.

0

409

2

비동기로 동작하는 setState에 대해서

0

331

1

npm run dev 할 때 에러발생

0

478

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

206

1

devMiddleware의 필요성

0

352

1

리액트에서 화살표 함수를 사용해야하는 이유

0

931

2

path.join관련질문

0

280

2

2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러

0

371

1

next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니

1

488

4