파라미터: /profiles/velopert
쿼리: /about?details=true
파라미터는 특정 id나 이름을 가지고 조회를 할 때 사용하고,
쿼리는 어떤 키워드를 검색하거나, 요청을 할 때 필요한 옵션을 전달 할 때 사용한다.
import * as React from 'react';
import { Routes, Route, useParams } from 'react-router-dom';
function ProfilePage() {
// Get the userId param from the URL.
let { userId } = useParams();
// ...
return (
<div>{userId}의 프로필</div>
);
}
function App() {
return (
<Routes>
<Route path="users">
<Route path=":userId" element={<ProfilePage />} />
<Route path="me" element={...} />
</Route>
</Routes>
);
}
// 숙소 목록 페이지
import React from 'react';
import { useSearchParams } from 'react-router-dom';
function List() {
const [searchParams, setSearchParams] = useSearchParams();
const showSelfCheckIn = searchParams.get('filter') === 'selfCheckIn';
return (
<>
<button onClick={() => setSearchParams({ filter: 'selfCheckIn' })}>
셀프체크인 숙소만 필터링하기
// url의 쿼리부분이 url/list -> url/list?filter=selfCheckIn 으로 변경
</button>
{showSelfCheckIn ? (
<div>셀프체크인 숙소 목록!!!</div>
) : (
<div>전체 숙소 목록!!</div>
)}
</>
);
}
export default List;