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

home2 게시판 React 게시판 AJAX 통신 응용 문제 1

AJAX 통신 응용 문제 1

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

    현정
    참가자
    응용1. 버튼을 2번 누르면 7,8,9번 상품을 가져와서 html로 보여주려면? 과제 중 질문입니다.
    아래 코드 처럼 click 한 수를 증가시켜서
    1번 누르면 4,5,6,번 상품 보여주기
    2번 누르면 7,8,9번 상품 보여주기 이렇게 분기를 나눠봤고
    성공,실패 부분이 동일한데
    동시에 ajax 요청 여러개 날리는 Promise.all 을 사용해야 좀 더 알맞은가요?
    
    
    let [shoes, setShoes] = useState(data);
    let [click, setClick] = useState(0);
    
    <button onClick={() => {
                setClick(click = click +1);
                if (click == 1) {
                  axios.get('https://codingapple1.github.io/shop/data2.json')
                  .then((result) => {
                    let copy = [...shoes, ...result.data];
                    setShoes(copy);
                    // setShoes(copy.concat(result.data));
                    setLoading(false);
                  })
                  .catch(() => {
                    console.log('통신 실패')
                  })
                } else if (click == 2) {
                  axios.get('https://codingapple1.github.io/shop/data3.json')
                  .then((result) => {
                    let copy = [...shoes, ...result.data];
                    setShoes(copy);
                  })
                  .catch(() => {
                    console.log('통신 실패')
                  })
                } else {
                  alert("더이상 상품이 존재하지 않습니다.");
                }
    
              }}>버튼</button>
    #87673

    codingapple
    키 마스터
    state변경함수는 다른거보다 늦게 처리되어서 처음if문은 if (click == 0) { 해야할듯요 
    state변경함수엔 변경할값만 넣읍시다 setClick(click +1) 
    
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 호 / 개인정보관리자 : 박종흠