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

home2 게시판 React 게시판 장바구니 에 같은상품이 있을경우에서~~!!

장바구니 에 같은상품이 있을경우에서~~!!

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

    오진희
    참가자

    애쁠쌤~

     

    detali.js에서 dispatch(); 내용입니다.

    강의내용의 장바구니 완성가이드에서 상품을 선택했는데  기존장바구니에 이미 해당상품이 들어가있을경우 

    저는 조금 다르게 수량은 나중에 따로 수동으로조절 하고,  aleart 창띄워서 '해당상품이 이미 장바구니에있어요.'

    띄운후 기존 이미존재한 상품들은 그대로  장바구니 페이지에 나오도록 해놨어요.

    return값을 초기  state;

     let 초기값 = [];

    if(같은상품있는경우){

         aleart('이미있어요');

          return   state;

    } else {

        return  push한 카피값;

    }

    이거든요. 

    결과 실행은 제가 원하는계획 대로 됬거든요. 그런데 갑자기 생각해보니  if(같은상품있는경우)의 return   state; 는  초기 디폴트파라미터로 [] 빈 array를 할당한 state를 리턴했는데 , 결과는 빈장바구니 페이지가 아닌 다행이 기존상품들이 그대로 남아있는 장바구니 페이지가 나오는걸까요????

    이건 어떻게 이해하면될까요???.... 추가로 들어온상품들은 copy본을 만들어서 copy본을 뱉어낸건데,,,,,

    이해가 될듯하면서도 안됩니당 ㅠㅠ.....

    #18735

    codingapple
    키 마스터

    맨 처음에 let 초기값 = [] 바깥에 적어둔건 dispatch할 때 다시 실행되지 않아서 그렇습니다 

    return state는 현재 state 그대로 유지해주세요 라고 이해하면 됩니다 

    #18739

    오진희
    참가자

    아 하~~~~! 그럼 애쁠쌤,  만약 리엑트가 아닌  그냥  일반적인 펑션 자바스크립트라 가정할때, 이런 dispatch(); 함수도 사용하지 않는 쌩일반자바스크립트 라치면,   저런 조건문 의경우 에서    디폴트 파라미터인  빈array   

      return   state;  라구 코딩하면    빈array    [] 를 뱉어내는게  맞는거죠???

    #18750

    codingapple
    키 마스터

    넴 함수 다시실행되면 그럴걸요 

    #18761

    오진희
    참가자

    ㅎㅎㅎ 감사합니당~~~애쁠쌤~~~ㅎㅎ??

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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