DioxusLabs/dioxus

Please change the function signature of `dioxus::server::router` to allow users to set the state type

Offen

#5.394 geöffnet am 20.03.2026

 (5 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Rust (1.655 Forks)batch import
enhancementfullstackgood first issue

Repository-Metriken

Stars
 (36.038 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 16T 13h) (9 gemergte PRs in 30 T)

Beschreibung

Feature Request

I want to be able to set the state type on the router that's created when using the dioxus::server::router function.

Implement Suggestion

The function is located in https://github.com/DioxusLabs/dioxus/blob/main/packages/fullstack-server/src/launch.rs

line 96.

change it from:

pub fn router(app: fn() -> Element) -> Router {
//....
}

to:

pub fn router<State = ()>(app: fn() -> Element) -> Router<State> { // Setting the default to `()` should ensure compatability with existing apps
//....
}

That way I can do this:

dioxus::server::router::<crate::server::state::ArcStore>(App).with_state(store) //  a struct wrapped in an Arc 

You'll probably have to update some of the other functions that expect just a Router like serve.

Contributor Guide