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

home2 게시판 React 게시판 안녕하세요 숙제검사랑 부족한점 피드백 받고싶어요!

안녕하세요 숙제검사랑 부족한점 피드백 받고싶어요!

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

    치칫
    참가자
    // 추가부분
    
    
    addItem(state,action){
      if(state.findIndex((a)=>{ return action.payload.title == a.title}) >= 0){
          let 번호 = state.findIndex((a)=>{ return action.payload.id == a.id})
          state[번호].count++
        }else{
        state.push(action.payload)
        }
    },
    
    //
    
    //삭제부분
    
    
    deleteItem(state,action){
     let 번호 = state.findIndex((a)=>{ return action.payload == a.id})
        if(번호 >= 0){
          state.splice(번호,1)
        }
    }
    //
    // cart.js와 detail.js부분
    
     <button className="btn btn-danger" onClick={()=>{
            dispatch(addItem({id:찾은상품.id,title:찾은상품.title,count:1}))
          }}>주문하기</button>
    
    ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
    
                <td><button onClick={()=>{
                  dispatch(deleteItem(item[i].id))
                
                }}>삭제</button></td>
    
    ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
    장바구니추가 부분은 저렇게하고 store.js에서 findIndex로 타이틀하고 id 비교해서 값이 -1이 아니면
    id랑state아이디 비교해서 나온 아이디값count만 증가하게하고 없으면 push로 가져온값을 넣게 했는대요 잘 동작은 하는가 싶긴한대
    지저분하거나 이상한점이 있을까요?
    그리고 삭제부분을 좀 고민해보다가 검색을해보니 filter 함수가 있던데 잘 사용조건을 못넣겠어가지구
    그냥 버튼누르면 id값만 받아와서 현재state에 있는 값의 id 와 findindex로 비교해가지고 그냥 그 값 나온걸
    state.splice(그값,1) 이런식으로 했는대 문제가 있을까요? 
    정석으로 할려면 filter로 하는법도 해봐야할까요?
    항상 코드를칠때 한코드를 쓰게되면 나머지도 그렇게 쓰는거아니면 잘못쓰겠는 경향이 생겨버리네요 ㅜㅜ..
    #84683

    codingapple
    키 마스터
    .findIndex는 if문 밖에 적으면 보기좋을듯요 
    잘되는거 하나만 쓰면 됩니다 filter쓰면 더 코드짧아질 수도 있는데 사용법은 findIndex랑 비슷할듯요
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 호 / 개인정보관리자 : 박종흠