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

home2 게시판 React 게시판 localStorage로 만드는 최근 본 상품 기능 2

localStorage로 만드는 최근 본 상품 기능 2

  • 이 주제에는 1개 답변, 2명 참여가 있으며 codingapple3 년 전에 전에 마지막으로 업데이트했습니다.
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #40356

    조승현
    참가자
    안녕하세요
    상품 페이지에 접속 시 해당 id 값과 data.id의 값이 같은 데이터의 제목(title)을 가지고 오는 조건문을 만들어 보려고 하는데, 처음에는 
    잘되는데.. 더보기 시 ajax로 get요청하여 데이터가 추가 된 상태로 새로고침을 하면  더보기 한 상품들은 최근 본 상품 목록에서 제외되고
     더보기를 누르면 최근 본 상품 목록에 추가 되는데 이렇게 코드를 짜는게 맞는건가요? 더 좋은 방법은 없는지 질문 드립니다 ㅜ
    
    
    
    let [shoes, setShoes] = useState(data);
      let navigate = useNavigate();
      const [viewMore, setViewMore] = useState(1);
      
      useEffect(()=>{
        if(localStorage.getItem('watched') != null){
          console.log('초기화방지');
        } else if(localStorage.getItem('watched') == null){
          localStorage.setItem('watched', JSON.stringify([]));
        }
      }, []);
        let content = [];
        let saveDate = JSON.parse(localStorage.getItem('watched'));
        for(let i=0;i<shoes.length;i++){
          console.log(saveDate);
          if(saveDate == null){
            console.log('test');
          } else if( saveDate[i] != null){
            let 위치 = shoes.findIndex((a)=>{ return a.id ==  saveDate[i] });
            if(saveDate[i] == shoes[위치].id){
              content.push(shoes[위치].title);
            }
          }
        }
    
    
    
    
    #40427

    codingapple
    키 마스터
    새로고침하면 state도 리셋되어서 그게 싫다면 그것도 로컬스토리지에 저장해놓을 수 있습니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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