응용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>