|
2 years ago | |
---|---|---|
.. | ||
examples | 2 years ago | |
src | 2 years ago | |
tests | 2 years ago | |
.gitignore | 3 years ago | |
CHANGELOG.md | 3 years ago | |
Cargo.toml | 2 years ago | |
Makefile.toml | 3 years ago | |
README.md | 2 years ago | |
webdriver.json | 3 years ago |
Dioxus Router is a first-party Router for all your Dioxus Apps. It provides a React-Router style interface that works anywhere: across the browser, SSR, and natively.
use dioxus::prelude::*;
use dioxus_router::prelude::*;
fn App(cx: Scope) -> Element {
use_router(
&cx,
&|| Default::default(),
&|| Segment::content(comp(Index)).fixed(
"blog",
Route::content(comp(Blog)).nested(
Segment::content(comp(BlogList))
.catch_all((comp(BlogPost), BlogPost))
)
)
);
render! {
Outlet { }
}
}
fn Index(cx: Scope) -> Element {
render! {
h1 { "Index" }
Link {
target: "/blog",
"Go to the blog"
}
}
}
fn Blog(cx: Scope) -> Element {
render! {
h1 { "Blog" }
Outlet { }
}
}
fn BlogList(cx: Scope) -> Element {
render! {
h2 { "List of blog posts" }
Link {
target: "/blog/1",
"Blog post 1"
}
Link {
target: "/blog/1",
"Blog post 2"
}
}
}
fn BlogPost(cx: Scope) -> Element {
render! {
h2 { "Blog Post" }
}
}