• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 localstroage

localstroage

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #72634

    심현석
    참가자
    useEffect(() => {
    let 꺼낸거 = localStorage.getItem("watched");
     꺼낸거 = JSON.parse(꺼낸거);
     console.log(꺼낸거);
     꺼낸거.push(찾은상품.id);
    // set은 중복 없애주는 함수
    // set 으로 중복을 제거한 것들을 다시 array 로 변환시켜줘야함
     꺼낸거 = new Set(꺼낸거);
     꺼낸거 = Array.from(꺼낸거);
     localStorage.setItem("watched", JSON.stringify(꺼낸거));
     }, []);
    
    
    중복제거를 set 자료형 함수 말고 if문으로 하고싶다면 꺼낸거(array)안에 찾은상품 id가 있냐를 if 문으로 작성해야 될 거 같은데 find/findIndex 함수를 사용하면 될까요 ?
    #72642

    심현석
    참가자
    번외로 궁금한게 하나 더 있어서 질문드립니다
    
    App.jsx 에 있는 useEffect(() => {
     localStorage.setItem("watched", JSON.stringify([]));
     }, []);
    코드로 인해 로컬스트리지에 있는 데이터들이  페이지 새로고침시  [] 처리되어서 
    위에 코드를 지워봤더니 
    
    useEffect(() => {
    let 꺼낸거 = localStorage.getItem("watched");
     꺼낸거 = JSON.parse(꺼낸거);
     console.log(꺼낸거);
     꺼낸거.push(찾은상품.id);
    // set은 중복 없애주는 함수
    // set 으로 중복을 제거한 것들을 다시 array 로 변환시켜줘야함
     꺼낸거 = new Set(꺼낸거);
     꺼낸거 = Array.from(꺼낸거);
     localStorage.setItem("watched", JSON.stringify(꺼낸거));
     }, []);
    
    이 코드로 로컬스트리지에 있는 상품 id 들이 새로고침을 하여도 사라지지 않고 잘 보존됩니다
    
    app.jsx 에 굳이 if문을 이용해 useEffect 를 작성해야 하는 이유가 있을까요 ? 
    useEffect 가 없어도 잘 작동해서 궁금해서 여쭤봅니다 !
    #72682

    codingapple
    키 마스터
    findIndex쓰면 array안에있는거 몇번째인지 찾아줍니다
    로컬스토리지에 watched항목이 아예 없으면 이상하게 동작하거나 그럴수도요
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠