이 과정에서 Query Parameter(혹은, Query String, 쿼리 스트링)를 사용한다.
쿼리 스트링이란 말 그대로 해당 엔드포인트에 대해 질의문(query)를 보내는 요청을 뜻한다.
예를 들어, localhost:8000/products?limit=10&offset=5
라는 주소가 있다고 가정했을때, API 뒷 부분에 붙어있는 ?
로 시작하는 텍스트가 쿼리스트링이다.
?limit=10&offset=5
의 경우, "limit이 10이면서 offset이 5일 경우의 product 페이지를 보여달라" 는 요청으로 해석된다.
?
: 쿼리스트링의 시작. url 에서 ?
기호는 유일무이
limit : 한 페이지에 보여줄 데이터 수
offset : 데이터가 시작하는 위치(index)
parameter=value
로 필요한 파라미터의 값을 적습니다.
파라미터가 여러개일 경우 &
를 붙여서 여러개의 파라미터를 넘길 수 있다.
useParams
훅을 이용하여 가져온다.useLocation
훅을 이용하여 가져온다.useParams
훅이 반환한 객체 안에 담겨있었듯이, 쿼리스트링에 대한 정보는 useLocation
훅이 반환한 객체의 search 프로퍼티 안에 담겨있다.**// current url -> localhost:3000/products?offset=10&limit=10**
function ProductList() {
const location = useLocation();
**console.log(location.search) // ?offset=10&limit=10
return (
...
)**
}
fetch(`${API}${location.search}`)
.then(res => res.json())
.then(res => ...)