inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

6-6. Hooks에 대한 자잘한 팁들

Hooks 관련 질문

199

rail

작성한 질문수 9

0

안녕하세요 제로초님!

이번 강의에서 hooks의 특성상 항상 함수 컴포넌트가 재실행되어 그 안에 코드가 모두 다시 실행된다고 하셨는데 여기서 궁금증이 생겨 질문 드립니다.

lottoNumbers는 useMemo로 인해 한번 실행되고 계속 기억하고 있어서 winNumbers가 변함이 없다는 것은 이해가 됐습니다. 

여기서 그럼 다른 winballs, bonus, redo는 매번 실행이 되는거면 계속 새롭게 다시 선언이 되어서 초기화가 되는게 아닌가요? 이상한 질문인 것 같지만.. 헷갈려서요ㅜㅜ

react

답변 1

0

제로초(조현영)

useState도 이전 상태가 계속 유지됩니다.

0

rail

음.. 그러면 

const [winNumbers, setWinNumbers] = useState(getWinNumbers());

이렇게 썼을 때에도 이전 상태가 계속 유지된다는 말씀이신데, 왜 매번 getWinNumbers 함수를 호출하는건가요..? 그 밑에 useState로 상태 관리하는 코드들은 초기값인 빈배열, null, false 값을 무시?하고 기존 상태를 유지하는데 왜 함수가 기본값인 경우는 그렇지 않은지 궁금합니다!

0

제로초(조현영)

winNumbers도 이전 상태를 유지하는건 같습니다. 다만 자바스크립트이므로 getWinNumbers()도 매 리렌더링때마다 호출됩니다. 호출되는 것을 한번만 하게 useMemo를 쓰는검니다.

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

235

1

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

0

311

1

react devtool이 enable 않됩니다.

0

530

2

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

0

410

2

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

0

331

1

npm run dev 할 때 에러발생

0

478

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

206

1

devMiddleware의 필요성

0

352

1

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

0

935

2

path.join관련질문

0

282

2

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

0

374

1

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

1

491

4