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

home2 게시판 React 게시판 리액트 장바구니 응용문제 질문드립니다

리액트 장바구니 응용문제 질문드립니다

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

    주지윤
    참가자
    장바구니에 기존 아이템이 있다면 추가하는것이 아닌 갯수를 +1씩 하는걸 하고있습니다.
    
    
    addItem(state, action){
    let findName = state.findIndex((a)=>(action.payload.name == a.name))
    let findId = state.findIndex((a)=>(action.payload.id == a.id))
    if(findName >= 0){
    state[findId].count++
    }
    else{
    state.push(action.payload)
    }},}})
    그걸 이렇게 코드를 짜서 동작은 일단 잘하는거같아요.
    여기서 궁금한점은 let findName과 findId의 내용이 너무 겹치는거 같아서
    이걸 함수에 담는것이 가능한지 궁금합니다...제가 시도는 해봤는데 제 자바스크립트 실력이 부족한탓인지 안되는거같아서요 ㅠㅠㅠ
    혹시 원래 이렇게 함수에 담는게 안되는데 제가 바보같이 시도하는건가요..?
    
    
    예를들어, function find(apple){
    return(
    state.findIndex((a)=>(action.payload.apple == a.apple))
    )}
    이렇게 하고 if문에서
    find(name) 혹은 state.[find(id)]
    이런식으로 파라미터로 쓰면 코드가 간결해지지 않을까하는 생각을 해보았는데
    피드백 주시면 감사하겠습니다...ㅠㅠㅠ
    #102126

    codingapple
    키 마스터
    findIndex안에 return이 없는듯요 함수로 싸매려면 함수안에 있는 변수들은 파라미터로 입력해서 쓰도록 하는게 좋습니다 
    근데 이름이 중복된 상품이 있을 수도 있는데 굳이 이름찾는건 필요없어보입니다
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 호 / 개인정보관리자 : 박종흠