리액트 노드 파라미터 값으로 axios get

안녕하세요·2023년 11월 15일

react x node 

목록 보기
6/18
post-thumbnail

현제 url경로 /products/1 ( /products/:id)

  const  productId = useParams();
  const [product, setProduct] = useState([]);

  
  useEffect(() => {
    axios({
      method: 'get',
      url: `http://localhost:8000/products/${productId.id}`
    })
      .then(res => setProduct(res.data[0]))
      .catch((err) => { console.log(err) });
  }, []);

파라미터를 받기위해 useParams와 데이터를 저장할 useState를 만들고

파라미터값으로 axios get을 요청

router.get('/:id',productsController.productDetail)

노드에서 /products/:id 값을 파라미터로 get

export async function productDetail(req, res) {
  let {id} =  req.params
  const result = await productsRepository.productDetail(id);
  res.json(result)
};

export async function productDetail(id) {
  const sql = `select pid,name,image,price,info,pdate from shoppy_products where pid = ?;`
  return db
    .execute(sql,[id])
    .then((row) => row[0]);


}

id값으로 sql문 where로 작성하여 데이터 전송

성공 ~

0개의 댓글