일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이어베이스
- Redux
- til
- 리액트
- JS
- 자바스크립트
- es6
- Component
- CORS
- 프리온보딩
- react
- 컴포넌트
- 비트 연산자
- array
- state
- localstorage
- react localStorage
- 원티드
- 브라우저
- Reducer
- axios
- 프로그래머스
- v9
- JavaScript
- firebase
- Frontend
- TypeScript
- 알고리즘
- 프론트엔드
- 타입스크립트
Archives
- Today
- Total
도리쓰에러쓰
[TIL] 프리온보딩 12일차 - 220514 본문
1️⃣ 검색하였을 때 영화 list에 즐겨찾기 아이콘 보이게 설정하기
- 우선 아래 코드로 local에 있는 데이터 가져오려고 하였는데 데이터가 없을 때는 에러가 났다.
그래서 null도 해보고 undefined도 해봤지만 에러가 해결되진 않았다.
const data = JSON.parse(localStorage.getItem('favorites')
- 아래와 같이 local 데이터를 불러왔더니 데이터가 없는 상태일 때도 에러가 나지 않았다.
(이 에러 고치느라 꽤나 오래 걸렸다...😂)
const data = JSON.parse(localStorage.getItem('favorites') || '[]')
- useState()가 아닌 변수로 즐겨찾기 아이콘을 보이게할지에 대한 설정을 하였다.
let showFavoriteIcon = false
data.forEach((favorite: Props['movie']) => {
if(favorite.imdbID === movie.imdbID) {
showFavoriteIcon = true
}
})
2️⃣ 중복된 ID값 제거
현재 영화 API에서 중복된 영화가 있었다. (ID값 등 모든 key와 value가 겹친다.)
그래서 중복된 영화가 있으면 lodash의 uniqBy를 통해 제거를 해줬다.
- lodash에서 uniqBy import하기
import { uniqBy } from 'lodash'
- uniqBy(객체, 'key값')를 통해 'key'의 value가 같으면 제거가 되도록 하였다.
const newArr = uniqBy(객체, 'key')
'Project > 원티드 프리온보딩 프론트엔드 코스' 카테고리의 다른 글
[TIL] 프리온보딩 14일차 - 220516 (0) | 2022.05.16 |
---|---|
[TIL] 프리온보딩 13일차 - 220515 (0) | 2022.05.15 |
[TIL] 프리온보딩 11일차 - 220513 (0) | 2022.05.13 |
[TIL] 프리온보딩 10일차 - 220512 (0) | 2022.05.13 |
[TIL] 프리온보딩 9일차 - 220511 (0) | 2022.05.12 |
Comments