Route 경로에 특정 값을 넣어 해당하는 페이지로 이동할 수 있게 하는 것 을 동적 라우팅이라 한다.
Path Parameter
라우트 경로 끝에 들어가는 id 값들을 저장하는 매개 변수이며, 딱 한가지 리소스만 타겟팅 할 때 사용된다.(ex: 제품 상세 페이지)
Query String
Key, Value 형태이며 여러가지 리소스를 타겟팅 할 때 사용된다.(ex: 조건에 충족하는 데이터 요청, Filtering, Pagination)
<Router> <Switch> <Route exact path='/product/:id' component={productDetail} /> </Switch> </Router>
// :는 변수로 쓰겠다라는 의미이며, Path Parameter가 온다는 것을 알린다.
// id는 해당되는 Path Parameter 의 이름이며, 임의의 이름을 지정할 수 있다.
history
페이지의 기록에 대한 정보를 담고 있다. 자주 사용하는 메소드 중 하나로 history.push()는 원하는 컴포넌트로의 이동을 도와준다.
location
현재 보고있는 브라우저의 위치에 대한 정보가 담겨 있고 제어할 수 있는 객체이다.
match
url, path(path parameter), params, isExact 등 라우터와 url의 매칭에 대한 정보를 담고 있다.
isExact
boolean 값을 가지며 전체 url이 일치하면 true이다.path
string 형태이며 Route에 정의된 경로를 담고 있다.url
클라이언트로부터 요청 받은 경로를 가지고 있다.params
경로에 전달된 parameter 값을 가진 객체이다.Query string
id라는 변수에 값을 담아 백엔드에 전달할 수 있다. 어떤 data의 위치를 특정해야할 경우와 filtering 해야할 경우 주로 사용한다.
offSet
데이터의 시작 위치(index)를 특정할 수 있다.
limit
한 페이지에 보여줄 데이터의 수를 정할 수 있다.
동적 라우팅은 개인적으로 흥미로운 내용이었다.
코딩을 하나씩 배워갈 때마다 쌓이는 지식들이, 처음에는 이해가 잘 되지 않다가 또 다른 코딩 지식들을 배울 때 도미노처럼 이해가 되버리는 상황이 있다.동적 라우팅이 나에겐 그런 내용이었고, 아직은 작은 상자안에서 하는 공부지만 그 상자를 점점 키우고 나중에는 그 밖으로 나가는 상상을 해본다.