❤️ 찜하기 기능 구현을 함께 해볼까요?
리액트 함수형 컴포넌트로 코드를 작성해 보겠습니다:)
const [isWishAdd, setIsWishAdd] = useState(false)
const [wishCount, setWishCount] = useStaet(808)
wishAddHandler
함수를 wishCountHandler
함수 안에 넣어줄 것이다. isWishAdd
state 의 boolean 값이 변경된다. const wishAddHandler = () => {
setIsWishAdd(!isWishadd)
}
wishCountHandler
함수를 찜하기 버튼의 onClick 이벤트로 넘겨준다. wishCountHandler
함수 안에 wishAddHandler
함수를 넣어준다.isWishAdd
값이 true 일 때 카운트를 +1 해주고 fetch 함수를 사용해서 백엔드 API 주소로 user_id 와 product_id 데이터를 보내준다. <Button
onClick={wishCountHandler}>
</Button>
const wishCountHandler () => {
wishAddHandler()
if (!isWishAdd) {
setWishCount(wishCount +1)
fetch("http://10.58.0.148:8000/product/dip", {
method: "POST".
body: JSON.stringify({
"user_id": 8,
"product_id": 2
})
})
} else if (isWishAdd) {
setWishCount(wishCount -1)
fetch("http://10.58.0.148:8000/product/dip", {
method: "POST".
body: JSON.stringigy({
"user_id": 8,
"product_id: 2
})
})
}
}