mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-12-23 19:13:08 +00:00
9e4ec43b1e
I also removed all trailing whitespace from lines since I have Emacs configured to highlight this.
29 lines
773 B
Markdown
29 lines
773 B
Markdown
# Routing for Dioxus App
|
|
|
|
DioxusRouter adds React-Router style routing to your Dioxus apps. Works in browser, SSR, and natively.
|
|
|
|
```rust
|
|
fn app() {
|
|
cx.render(rsx! {
|
|
Routes {
|
|
Route { to: "/", Component {} },
|
|
Route { to: "/blog", Blog {} },
|
|
Route { to: "/blog/:id", BlogPost {} },
|
|
}
|
|
})
|
|
}
|
|
```
|
|
|
|
Then, in your route, you can choose to parse the Route any way you want through `use_route`.
|
|
```rust
|
|
let id: usize = use_route(&cx).segment("id")?;
|
|
|
|
let state: CustomState = use_route(&cx).parse()?;
|
|
```
|
|
|
|
Adding links into your app:
|
|
```rust
|
|
Link { to: "id/{id}" }
|
|
```
|
|
|
|
Currently, the router is only supported in a web environment, but we plan to add 1st-party support via the context API when new renderers are available.
|