inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

23 로컬스토리지에 데이터 싱크하기 2

jsonLocalStorage.getItem("favorites") || []

196

Cola

작성한 질문수 40

2

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

jsonLocalStorage.getItem("favorites") || []

에서는 []가 없으면 초기값이 없어서 에러가 났었는데

jsonLocalStorage.getItem("counter") 도 에러가 날까?

해서 궁금해서 LocaStroage를 비우고 해봤더니

에러가 나지 않더라구요 이유가 궁금합니다.

react javascript

답변 1

0

진유림

좋은 의문입니다~

에러는 localStorage가 아닌 favorites의 기본값이 없어서 난 타입에러예요.


const [favorites, setFavorites] = React.useState(

          jsonLocalStorage.getItem("favorites") || []

        );

 

에서

favorites[0]을 한다는건 favorites를 배열로 가정하고 첫 번째 인자를 꺼내온거죠.

그래서 favorites가 배열이 아니라면 바로 에러가 날거예요.

 

const [counter, setCounter] = React.useState(

          jsonLocalStorage.getItem("counter")

        );

 

counter같은 경우는 타입이 달라서 생길 에러가 없어서 괜찮았던 것입니다.

 

 

0

Cola

counter는 기본값이 없어도 되는건가요?

0

진유림

모든 state는 기본값이 있어도 없어도 되어요.

다만 배열 타입을 가정하고 만든 state에서 에러를 내지 않기 위해 기본값으로 빈 배열을 할당해준것입니다.

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

0

85

1

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

0

67

1

npx 명령어 사용 불가

1

86

1

const 변수와 컴포넌트의 차이

0

95

1

강의노트

0

150

1

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

0

343

1

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

0

801

1

js파일 업로드 요청

0

142

1

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

0

152

1

메인글자수정...

1

288

3

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

1

319

1

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

1

614

4

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

2

363

3

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

1

348

1

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

1

385

2

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

1

367

1

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

1

676

4

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

1

342

2

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

2

1163

2

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

1

339

2

index.js 내용이 바꼈네용

1

323

2

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

1

264

2

html 코드 오류

1

468

2

고양이 이미지 깨져요

1

347

2