Core Dioxus — State
Overview
Gerenciamento de estado global com use_signal + use_context compartilhado entre telas, seguindo um mini-padrão de stores (auth, sessão, tema) com persistência local (dioxus/lib extra), isolado da UI.
Config
- Cada store é um struct com signals; registrado via
use_context_providernoapp.rs. - Consumidores usam
use_context::<Store>(). - Persistência:
async-storage/dioxus-persistentpara manter token/tema entre sessões. - Stores expõem
Resultdo domínio, nunca exceptions.
Exemplo
#[derive(Clone, Default)]
struct AuthStore {
token: Signal<Option<String>>,
user: Signal<Option<CurrentUser>>,
}
impl AuthStore {
fn is_authenticated(&self) -> bool {
self.token.read().is_some()
}
}
// app.rs
let auth = AuthStore::default();
use_context_provider(|| auth);
References
- Consultar
references/state-pattern.mdpara stores e persistência.
Global Standards
- Consultar
../skills-standards.md.