Core Dioxus — Navigation
Overview
Navegação com dioxus-router: rotas tipadas (evitar strings soltas), guards de autenticação/autorização e deep linking.
Config
- Configurar
dioxus-routere montar<Router>noapp.rs. - Definir rotas como tipos (enum
Route) emnavigation/routes.rs. - Guards: componentes
PrivateRoute/PublicOnlyRoute/AdminRouteque leem o estado de auth (core-dioxus-state-rs) e redirecionam. - Deep linking via
use_segment/use_route.
Exemplo
#[derive(Clone, Routable)]
enum Route {
#[route("/")]
Home {},
#[route("/login")]
Login {},
#[route("/customers/:id")]
CustomerDetail { id: String },
#[nest("/admin")]
#[route("/")]
AdminDashboard {},
}
/customers/:id — tipado via CustomerDetail { id }.
Guards
- Deve-se impedir acesso não ambíguo: componentes redirecionam com
use_navigate()(Route::Login)seauth_tokenausente. - Somente o
core-dioxus-state-rsmantém o token; o guard não lê localStorage diretamente.
References
- Consultar
references/dioxus-router-pattern.mdpara templates. - Consultar
../core-dioxus-state-rs/SKILL.mdpara o store de auth.
Global Standards
- Consultar
../skills-standards.md.