ワンクリックで
dioxus-guide
Dioxus v0.7.x desktop app guide. Components, Signal state, rsx! macro, hooks, events, Context API, async.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Dioxus v0.7.x desktop app guide. Components, Signal state, rsx! macro, hooks, events, Context API, async.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Claude + Gemini + Codex 4者クロスファクトチェック。Opus自身、Gemini Flash、Gemini Pro、Codex (gpt-5.3-codex) の4者で独立チェック→争点抽出→議論→合意レポートを出力する。
Claude + Gemini クロスファクトチェック。Opus自身、Gemini Flash、Gemini Proの3者で独立チェック→争点抽出→議論→合意レポートを出力する。
Claude内マルチモデルファクトチェック。Opusが自身でチェックし、Sonnetサブエージェントに独立チェックさせ、両者の結果を比較・議論して合意レポートを出力する。
Gemini CLIのGoogle検索統合(grounding)を使ったWeb検索。Claudeは結果の整形・要約のみ担当し、WebSearchツールは使用しない。
Axum v0.8.x backend development guide. Handlers, routing, middleware, auth, error handling.
Leptos v0.8.x frontend development guide. Components, signals, resources, async, forms, and ownership patterns.
| name | dioxus-guide |
| description | Dioxus v0.7.x desktop app guide. Components, Signal state, rsx! macro, hooks, events, Context API, async. |
Deprecated in 0.7:
cx / Scope → Not neededuse_state → use_signaluse_ref → use_signaluse dioxus::prelude::*;
fn main() { dioxus::launch(App); }
#[component]
fn App() -> Element {
rsx! { "Hello, Dioxus!" }
}
[dependencies]
dioxus = { version = "0.7.2", features = ["router"] }
[features]
default = ["desktop"]
web = ["dioxus/web"]
desktop = ["dioxus/desktop"]
rsx! {
div { class: "container", color: "red",
width: if condition { "100%" }, // Conditional attr
"Hello!"
}
for i in 0..5 { div { "{i}" } } // Loop (prefer for over iter)
if condition { div { "True!" } } // Conditional
{children} // Expressions in braces
}
#[component]
fn MyComponent(
title: String,
#[prop(optional)] class: Option<String>,
#[prop(default = 10)] limit: usize,
children: Element,
) -> Element {
rsx! {
div { class: class.unwrap_or_default(),
h1 { "{title}" }
{children}
}
}
}
Props: Must be owned types (String, not &str), implement PartialEq + Clone
#[component]
fn Counter() -> Element {
let mut count = use_signal(|| 0);
rsx! {
h1 { "Count: {count}" }
button { onclick: move |_| *count.write() += 1, "+" }
}
}
// Read
count() // Clone value
count.read() // Reference (&T)
// Write
count.set(10)
*count.write() = 10
count.with_mut(|c| *c += 1)
let doubled = use_memo(move || count() * 2);
// Provider
#[component]
fn App() -> Element {
let theme = use_signal(|| "light".to_string());
use_context_provider(|| theme);
rsx! { Child {} }
}
// Consumer
#[component]
fn Child() -> Element {
let theme = use_context::<Signal<String>>();
rsx! { div { "Theme: {theme}" } }
}
let data = use_resource(move || async move { fetch_data().await });
match data() {
Some(result) => rsx! { div { "{result}" } },
None => rsx! { "Loading..." },
}
// With dependency
let user = use_resource(move || {
let id = user_id(); // Re-runs when this changes
async move { fetch_user(id).await }
});
#[derive(Routable, Clone, PartialEq)]
enum Route {
#[layout(NavBar)]
#[route("/")]
Home {},
#[route("/blog/:id")]
BlogPost { id: i32 },
}
#[component]
fn NavBar() -> Element {
rsx! {
nav { a { href: "/", "Home" } }
Outlet::<Route> {}
}
}
#[component]
fn App() -> Element {
rsx! { Router::<Route> {} }
}
rsx! {
button { onclick: move |_| { /* click */ }, "Click" }
input {
oninput: move |e| set_value(e.value()),
prop:value: value,
}
input { onkeydown: move |e| {
if e.key() == Key::Enter { /* enter pressed */ }
}}
form { onsubmit: move |e| {
e.prevent_default();
// submit
}}
}
[desktop.window]
title = "MyApp"
width = 1200
height = 800
curl -sSL http://dioxus.dev/install.sh | sh # Install dx CLI
dx serve # Dev server
dx build --release
dx bundle --release # Create .deb etc.
| Item | Dioxus 0.7 | Leptos 0.8 |
|---|---|---|
| Signal | use_signal (Copy-like) | signal() (may need clone) |
| Macro | rsx! {} | view! {} |
| Desktop | Native support | Needs Tauri |