week1- 필터링기능 (작성중)

tami·2021년 7월 31일
3

배운점

storage 브라우저 지원

if(typeof(Storage) !== "undefined") {
 //웹 스토리지 사용 전 브라우저에서 지원 가능할 때
} else {
 //웹 스토리지 사용 전 브라우저에서 지원 안할 때
}

참고

map 과 forEach의 차이점

map
map은 새로운 배열을 반환하는 함수인데, return 값이 따로 없다면 map대신에 forEach를 사용하는 것이 맞다.

참고

Object.assign

브랜드상태 json을 만드는것이 목적이었는데

brandState = [ {
	name: ' ',
    isFilter: false } ,{ }, { }..] 

수정 전

setBrandList = () => {
    const brandState = [{ name: '전체브랜드', isFilter: false }];
    const brandList = [
      ...new Set(getStore('recentViewed').map((card) => card['brand'])),
    ];

    brandList.forEach((brandName) => {
      brandState.push({ name: brandName, isFilter: false });
    });
    return brandState;
  };

전에는
1. brandState에 첫번째 값 넣어두고
2. 기존 데이터(getStore)에서 브랜드 이름만 가져오기
3. brandState에 하나씩 push

이렇게 진행했느데,

수정 후

setBrandList = () => {
    const brandList = [
      ...new Set(getStore('recentViewed').map((card) => card['brand'])),
    ];
    const brandState = brandList.map((brand) =>
      Object.assign({ name: brand, isFilter: false })
    );
    brandState.unshift({ name: '전체 브랜드', isFilter: false });
    return brandState;
  };
  1. 기존 데이터(getStore)에서 브랜드 이름만 가져오기
  2. brandState 객체 만들기
  3. 첫번째 값에 넣어주기

이와 같이변경했다.

profile
자스베이더 Tami의 TILAND에 오신걸 환영합니다🗡

0개의 댓글