DioxusLabs/dioxus

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

Aperta

#5394 aperta il 20 mar 2026

 (5 commenti) (0 reazioni) (0 assegnatari)Rust (1655 fork)batch import
enhancementfullstackgood first issue

Metriche repository

Star
 (36.038 stelle)
Metriche merge PR
 (Merge medio 16g 13h) (9 PR mergiate in 30 g)

Descrizione

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.

Guida contributor