import {
BrowserRouter,
Routes,
Route,
} from "react-router-dom";
const Router = () => {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />}>
<Route index element={<Home />} />
<Route path="teams" element={<Teams />}>
<Route path=":teamId" element={<Team />} />
<Route path="new" element={<NewTeamForm />} />
<Route index element={<LeagueStandings />} />
</Route>
</Route>
</Routes>
</BrowserRouter>
);
}
<Link to="/">Home</Link>
<Link to="about">About</Link>
import { useParams } from "react-router-dom";
...
<Routes>
<Route
path="items/:itemId"
element={<Item />}
/>
</Routes>
...
const params = useParams();
return <h1>{params.itemId}</h1>
// parent
<Link
to={`/${coin.id}`}
state={{ name: coin.name }}
>
//child
import { useLocation } from "react-router-dom";
interface RouteState {
state: {
name: string;
};
}
const { state } = useLocation() as RouteState;
// v6λΆν°λ μ λ€λ¦μ μ§μνμ§ μμ
<Routes>
<Route path="items" element={<Items />}>
<Route path=":itemId" element={<Item />} />
<Route path="sent" element={<SentItems />} />
</Route>
</Routes>
...
function Items() {
return (
<div>
<h1>Items</h1>
<Outlet />
</div>
);
}
<Routes>
<Route path="/" element={<Layout />}>
<Route path="items" element={<Items />} />
<Route path="another" element={<Another />} />
</Route>
</Routes>
...
function Layout() {
return (
<div>
<h1>Welcome to the app!</h1>
<nav>
<Link to="items">Items</Link> |{" "}
<Link to="another">Another Items</Link>
</nav>
<div className="content">
<Outlet />
</div>
</div>
);
}