✨
useParamsの動作
page2Routes.jsx
import { UrlParameter } from '../UrlParameter';
export const page2Routes = [
{
path: ':id',
element: <UrlParameter />,
},
];
Router.jsx
<Route path="page2">
<Route index element={<Page2 />} />
{page2Routes.map((route) => (
<Route key={route.path} path={route.path} element={route.element} />
))}
</Route>
Router.jsx
でmap()
メソッドを使ってRoute
を生成する際に, page2Routes.jsx
から:id
などのパラメータが設定されたRoute
が生成されようになる。
Page2
import { Link } from 'react-router-dom';
export const Page2 = () => {
return (
<div>
<h1>Page2ページです</h1>
<Link to="100">URL Parameter</Link>
</div>
);
};
ユーザーがpath
page2/100
のページを開いたとき, page2/:id
となっていたRoute
のパラメータはpage2/100
となる。
UrlParameter.jsx
import { useParams } from 'react-router-dom';
export const UrlParameter = () => {
const { id } = useParams();
return (
<div>
<h1>UrlParameterページです</h1>
<p>{id}</p>
</div>
);
};
UrlParameter
が表示されるとき, Route
のパラメータ:id
を取得する。
Discussion