dioxus

Dioxus 0.7.3 Knowledge Patch

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "dioxus" with this command: npx skills add nevaberry/nevaberry-plugins/nevaberry-nevaberry-plugins-dioxus

Dioxus 0.7.3 Knowledge Patch

Claude's baseline knowledge covers Dioxus through 0.6.3. This skill provides 0.7.3 features.

Quick Reference

New in 0.7.3

Feature Description

Subsecond Hot-Patching Full Rust code hot-reload via jump table

WASM Splitting Lazy-load chunks for faster initial load

Manganis Assets asset!() macro with optimization & cache-busting

Stores Nested reactivity with path-based subscriptions

Subsecond Hot-Patching

Full Rust hot-reload without restart. Functions called through jump table that gets patched.

// Standard Dioxus - automatic fn main() { dioxus::launch(app); }

// Non-Dioxus apps fn main() { dioxus_devtools::connect_subsecond(); loop { dioxus_devtools::subsecond::call(|| handle_request()); } }

Limitations: No struct changes (size/alignment), thread-locals reset, only tip crate patches.

See references/subsecond-hotpatch.md .

WASM Code Splitting

Split large WASM binaries into lazy-loaded chunks.

#[wasm_split(admin_panel)] async fn load_admin_panel() -> AdminPanel { AdminPanel::new() // In separate module_admin_panel.wasm }

async fn handle_route(route: Route) { if let Route::Admin = route { let panel = load_admin_panel().await; panel.render(); } }

Key points: Split points must be async, memory shared, requires --emit-relocs .

See references/wasm-split.md .

Manganis Assets

Compile-time asset management with optimization.

let img = asset!("/assets/image.png"); let css = asset!("/assets/style.css", AssetOptions::css().minified());

rsx! { img { src: "{img}" } link { rel: "stylesheet", href: "{css}" } }

CSS Modules:

css_module!(Styles = "/my.module.css", AssetOptions::css_module()); rsx! { div { class: Styles::header } }

See references/manganis-assets.md .

Stores (Nested Reactivity)

Granular path-based subscriptions for nested data.

Scenario Use

Scalar state Signal

Nested structures with granular updates Store

#[derive(Store, Clone)] struct TodoItem { checked: bool, contents: String, }

let store = Store::new(TodoItem { checked: false, contents: "Buy milk".into() });

// Subscribe only to checked field let checked = store.checked(); rsx! { input { checked: checked.read() } }

// Changing contents won't re-render above store.contents().set("Buy eggs".into());

See references/stores-signals.md .

Renderers

Renderer Package Use Case

Web dioxus-web WASM/browser via Sledgehammer JS

Desktop dioxus-desktop Wry/Tao webview

Native dioxus-native Blitz/Vello GPU (not a browser)

LiveView dioxus-liveview WebSocket streaming

SSR dioxus-ssr Server-side HTML rendering

All implement WriteMutations trait.

See references/renderers.md .

Workspace Structure

packages/ ├── dioxus/ # Main re-export crate ├── core/ # VirtualDOM, components, diffing ├── rsx/ # RSX macro parsing ├── signals/ # Reactive state (Signal, Memo, Store) ├── hooks/ # Built-in hooks ├── router/ # Type-safe routing ├── fullstack/ # SSR, hydration, #[server] ├── cli/ # dx build tool ├── web/ # WASM renderer ├── desktop/ # Wry/Tao webview ├── native/ # Blitz/Vello GPU renderer ├── liveview/ # WebSocket streaming ├── manganis/ # asset!() macro ├── subsecond/ # Hot-patching system └── wasm-split/ # WASM code splitting

Patterns (Unchanged from 0.5-0.6)

Components:

#[component] fn MyComponent(name: String) -> Element { let mut count = use_signal(|| 0); rsx! { button { onclick: move |_| count += 1, "{name}: {count}" } } }

Server Functions:

#[server] async fn get_data(id: i32) -> Result<Data, ServerFnError> { // Runs on server, auto-RPC from client }

Routing:

#[derive(Routable, Clone)] enum Route { #[route("/")] Home {}, #[route("/blog/:id")] Blog { id: usize }, }

Architecture

  • WriteMutations: Trait all renderers implement for DOM changes

  • Generational-box: Provides Copy semantics for signals

  • ReactiveContext: Tracks signal reads for subscription

  • Template-based: RSX compiles to static templates, only dynamic parts diffed

Reference Files

File Contents

references/subsecond-hotpatch.md

Hot-patching architecture, ASLR, limitations

references/wasm-split.md

WASM splitting pipeline, runtime loader

references/manganis-assets.md

Asset processing, binary patching, CSS modules

references/stores-signals.md

Store derive, subscription tree, memory model

references/renderers.md

WriteMutations trait, renderer differences

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

dioxus-knowledge-patch

No summary provided by upstream source.

Repository SourceNeeds Review
Research

rust-knowledge-patch

No summary provided by upstream source.

Repository SourceNeeds Review
Research

postgresql-knowledge-patch

No summary provided by upstream source.

Repository SourceNeeds Review