inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

만들면서 배우는 리액트 : 기초

33 setState 더 알아보기- 함수, 지연초기화

함수를 넘기는 게 왜 localstorage에 한번만 접속 하는건지 이해가 잘 가지 않습니다

433

민지홍

작성한 질문수 5

1

useState(localStorage.getItem("test"));
이거랑
useState(() => {
return localStorage.getItem("test");
});
 
이거랑 결국 함수 실행 시에 localStorage에 접근을 할텐데
왜 랜더링 할 때 1번만 접근한다는건지 개념이 이해가 안가네요

react javascript

답변 1

0

진유림

전자의 코드는

리액트가 매번 렌더링 될때마다(state나 prop이 바뀔때마다 컴포넌트 전체가 리렌더링 되죠. 모든 코드가 다시 실행된다고 생각하시면 됩니다) 로컬스토리지에 접근하게 됩니다.

 

후자의 코드는

초기 렌더링시에만 localstorage에 접근해서 state값을 초기화하고, 리렌더링시에는 접근하지 않습니다.

리액트 문서의 '지연초기화'를 참고해주세요 ㅎㅎ

https://ko.reactjs.org/docs/hooks-reference.html#lazy-initial-state

API 적용 안되는 코드 수정 방법입니다.

0

85

1

고양이 이미지가 엑박이 뜨네요

0

66

1

npx 명령어 사용 불가

1

86

1

const 변수와 컴포넌트의 차이

0

95

1

강의노트

0

150

1

vite로 리액트 빌드한 후 깃허브에 배포하는 방법

0

342

1

빌드할때 dist 폴더가 만들어지는데요,

0

801

1

js파일 업로드 요청

0

141

1

변경된 api 사용시 text 안나오는 문제

0

152

1

메인글자수정...

1

287

3

디렉터리 구조 관련하여 참고할 만한 예시가 있을까요?

1

318

1

https://cataas.com/undefined 로 나오는데 왜그런건가요?

1

614

4

고양이 사진이 깨져요.ㅜㅜ

2

363

3

강의 노트 위치를 모르겠습니다

1

347

1

깃 강의노트 어디서 볼 수 있나요?

1

383

2

이해가 안되는 부분이 있어요

1

366

1

api가 안불러와지네요...

1

676

4

진유림 선생님 너무 궁금해서 질문드립니다 ㅜ

1

341

2

react에서 컴포넌트 만들 때 대문자를 쓰는 이유

2

1162

2

https://cataas.com/ 여기 도메인이 죽어서 이미지가 보이지 않습니다 ㅠ

1

338

2

index.js 내용이 바꼈네용

1

322

2

프로젝트에 사용할 상태와 로직 관리 라이브러리 훅 사용 질문입니다.

1

264

2

html 코드 오류

1

467

2

고양이 이미지 깨져요

1

345

2