인프런 커뮤니티 질문&답변

wansonam11님의 프로필 이미지

작성한 질문수

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

상품 상세 화면 개발 - 2

button누르면 soldout 하기

작성

·

170

1

안녕하세요
web에서는 구입버튼 누르면 soldout이 1이 되어 회색으로 변하는데 모바일에서도 똑같이 적용하고 싶어서 질문드립니다
 
web에서는 axios.get(`${API_URL}/products/${id}`)
이 sever의
app.post("/purchase/:id", (req, res) => {
const { id } = req.params;
models.Product.update(
{
soldout: 1,
},
{
where: {
id,
},
}
)
와 통신하여 soldout값이 1이 되는데 모바일에서는 어떻게 코드를 작성해야 할까요?
 
웹에서는 Antd의 <Button>을 이용하고
모바일은 <TouchableOpacity>를 이용하는데
웹에서처럼 <TouchableOpacity = onClick{onClickPurchase}>
로 함수를 만들어주면 버튼에 아무런 반응이 없습니다
 
 
 

답변 2

1

wansonam11님의 프로필 이미지
wansonam11
질문자

진행하다보니 궁금한게 생겼는데요

모바일에서는 DB랑 어떻게 연동이 되는건가요?

web과 달리 DB관련 내용이 선언된곳이 없는데

Expo나 ngrok에서 알아서 연결해주는 건가요,,?

그랩님의 프로필 이미지
그랩
지식공유자

웹과 마찬가지로 Node.js 서버와 통신하게 됩니다. 그래서 모바일 앱도 개발할 때 Node.js 서버를 실행해둔 다음에 동작해야 합니다! ngrok은 서버와 모바일이 통신할 수 있도록 네트워크적으로 도움을 주는 도구라고 보시면 됩니다 :) 

0

그랩님의 프로필 이미지
그랩
지식공유자

올려주신 코드를 아래와 같이 수정해보시겠어요?

<TouchableOpacity onClick={onClickPurchase} >

그리고 웹처럼 결제를 한 후 다시 product 정보를 받아오도록 로직을 수정해야 합니다 :)