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

home2 게시판 React 게시판 최근본상품 질문

최근본상품 질문

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

    kkh
    참가자
    안녕하세요 선생님 숙제하다가 질문이 생겼읍니다
    (해설은 아직 안봤어여.)
    
    function App() {
    useEffect(() => {
        if (localStorage.getItem('watched') == null) {
          localStorage.setItem('watched', JSON.stringify([]));
        }
      }, []);
    
    function DetailPage(props) {
    useEffect(() => {
        let get = localStorage.getItem('watched');
        let includes = false;
        get = JSON.parse(get);
        get.forEach((a, i) => {
          if (a.id == props.shoes[id].id) {
            includes = true;
            return;
          }
        });
        includes == false
          ? get.push({ id: props.shoes[id].id, title: props.shoes[id].title })
          : console.log(1); 
    //뭐라고써야하지..
        localStorage.setItem('watched', JSON.stringify(get));
    }, []);
    
    1. 위 App컴포넌트에서 조건식을 붙이지 않으면 Detail페이지로 이동했을 때 localstorage가 빈 배열로 초기화되는데..힌트엔 조건식이 없어서..
     App컴포넌트도 같이 리렌더링 되는 건지.. 이유가 궁금합니다.
    
    2. JSX가 아닌 자바스크립트에서 삼항연산자 쓸 때 아무것도 안하고싶으면..
    비워놔도 안되고 null도 오류나고 뭘 써야 하는지 모르겠어서 console.log(1) 썼는데.. 그냥 if문 쓸까요..?
    
    밑에 그림처럼 상품 이미지 밑에 상품 이름도 넣고 싶어서 localstorage에 넣을 객체를 만들어버렸읍니다 
    선생님께서 set자료형을 써보라고 하셔서 시도해보다가 궁금한 점이 생겼습니다. 객체는 좀 생각해보니 당연히 안 되더라구여.
    
    3.객체의 중복도 쉽게 해결해줄 수 있는 자료형이 있나요?? 없는 건지 검색해봐도 잘 안 나와서 그냥 노다가 해버렸읍니다 
    4. const set=new Set([1,2,3]) set={1,2,3} 순서도 없고 키도 없는데 만약 set안에 2를 가져오고 싶으면 어떻게 해야 하나요..?
    
    스크린샷 2024-06-21 015602
    
    
    
    #126201

    codingapple
    키 마스터
    1. url을 직접 입력하면 새로고침되어서 App컴포넌트도 재렌더링될수도요
    2. 조건에 따라 문자나 숫자를 남기고 싶을 때 삼항연산자 씁시다
    3. 직접 반복문 돌리거나 array.findIndex() 같은거 써서 확인해야할듯요
    4. .has 쓰거나 array로 바꿉시다
    #126234

    kkh
    참가자
     1번이 너무 궁금해서 애먹었읍니다
    .has쓰면 boolean값이 반환되는군요
     spread operator 써서 배열로 바꿔볼 생각을 못했군요
    피곤했나봅니다 ㅋㅋ 
    감사드립니다!
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 호 / 개인정보관리자 : 박종흠