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

home2 게시판 React 게시판 다른질문 한가지더있습니다~.

다른질문 한가지더있습니다~.

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

    오진희
    참가자

    제플젝 에서 영화 예매하기 페이지 를 만들어보는중인데요.

    일단 기본적인 로직들은 제가 만들었습니다.

    일단 은 저기 파란색 상영시간표박스를 한번씩 클릭할때마다, 아래 보라빛 티켓박스부분 vip 인원수가 1씩 증가하도록 만들었습니다.

    그런데 만약 한가지 더업글시켜서 

    같은 시간의상영박스를 클릭하면 연속으로 vip인원이 올라가도록은 만들었지만...

    만약 다른시간대의 상영박스 를 클릭하면 

    다시 vip인원이 0 되면서 다시 카운트가 올라가고, 클릭이전의 상영시간박스 의 좌석수(23)이 다시 23으로 복원되도록 만들고 싶은데 .... 계속 고민해보고수정을 해봐도.... 엉뚱하게 되더라구요 ,.....

    그래서 현재까지 만든 코드입니다....

    상영시간 박스들입니다.

    리덕스에 만들어놓은 상영시간, 좌석 데이터입니다.

    아래보라빛 vip인원 html 입니다.

    원래 계획대로 하기위해선 ...어떻게 코드를추가로 넣어야할까요?....계속고민하다 안되어 애쁠샘께 도움청합니다. 도와주세욤 ㅠㅠ

    #24185

    codingapple
    키 마스터

    vip 인원 저장하는 state는 리덕스스토어에 없어보입니다 그것도 리덕스스토어에 있어야하지않을까요 

    #24232

    오진희
    참가자

    아하  vip인원수를 리덕스에 넣을 생각을 안했었네욤 ..밖에서 카운트할생각만하구..

    그래서 애쁠쌤 말씀데로  리덕스안에  vip 인원수도 추가하였어요.

    이제 첫번째 계획대로 상영시간박스 클릭시 vip인원이 0부터 시작해서 카운트 올라갑니다.그런데 ....

    다른 시간박스 클릭하던걸  다시 원래 클릭하던 시간박스를 다시 클릭하면 기존에 카운트 되던거에서 다시 추가로 올라가더라구요.

    최종계획 대로 기존에 클릭하던 시간박스에서 다른시간 박스로 클릭이 옮겨가면 기존박스는 좌석수 23, vip 인원수가 0으로 바뀌게 하는게 목표입니당.....

    그래서  첫번째 사진에서 리덕스 스토어에서 이 조건문을 한번 추가로 넣어봤는데....   

    if(!copy[action.i]){        
                copy.forEach((c) => {
                        c.set = 23;
                        c.vip = 0;
                });    
                return copy;    
            }

    ㅠㅠ 역시나 안되더다구요 ㅠㅠ

     

    #24284

    codingapple
    키 마스터

    일단 사용자가 지금 어떤 영화를 눌렀는지 저장하는 state도 있어야할것같군요 

    영화마다 { 방금클릭했냐 : true } 이런 항목을 추가하는게 어떨까요 

    #24370

    오진희
    참가자

    애쁠쌤 ㅠㅠ 힌트를 주셨는데도  해결을 못해서 죄송합니다 ....ㅠㅠ

    초기화로 바뀌지가 않아요 ㅠㅠ....

    초기값 이케바꾸고, 

    리덕스function 도 이케 바꾸어 보았어요...

    그런데 ...원하던 계획의  클릭이 다른 상영시간박스로 옮겨가면....

    나머지 모든 상영시간박스들은 이렇게

    nowclick = false;
    set = 23;
    vip = 0;로 바뀌어야 하는데 ..... 저기 중간 else {} 부분에서 초기화가 될줄알았는데 ㅠㅠ 잘못된 코드인가 봅니다 ㅠㅠ.

    도저히 바뀌지가 않습니다 ....ㅠㅠ

    돌머리인가봐요 ..........

    #24385

    codingapple
    키 마스터

    맨위에서 어쩌구.nowClick을 항상 true로 설정해놓기 때문에 

    if문만 실행되고 else문은 실행이 안되는듯요 

    .nowClick 변경은 좀 나중에 하도록 합시다 

    근데 영화마다 누른여부 저장하는 것보다는 그냥 지금누른 영화번호만 한 곳에 저장해놔도 편리하겠군요 

    #24390

    오진희
    참가자

    헉!!! 드뎌 풀렸어요 ㅎㅎㅎ!!

    copy2를  하나더만들어서  splice로 내가선택한것 빼버린 나머지 array를 for문돌려서 초기화 시키니 

    드뎌!!! 최종 계획 되로 됬습니다!. 흑흑 ㅠㅠ 이걸 이렇게 오래 걸리다니 ㅠㅠ.

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

About

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

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

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