mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-12-26 20:43:08 +00:00
508c560320
This change switches back to the original `ctx<props>` syntax for commponents. This lets lifetime elision to remove the need to match exactly which lifetime (props or ctx) gets carried to the output. As such, `Props` is currently required to be static. It *is* possible to loosen this restriction, and will be done in the future, though only through adding metadata about the props through the Props derive macro. Implementing the IS_STATIC trait is unsafe, so the derive macro will do it through some heuristics. For now, this unlocks sharing vnodes from parents to children, enabling pass-thru components, fragments, portals, etc.
20 lines
480 B
Rust
20 lines
480 B
Rust
// use dioxus_core::prelude::*;
|
|
// use dioxus_web::WebsysRenderer;
|
|
|
|
// fn main() {
|
|
// wasm_bindgen_futures::spawn_local(WebsysRenderer::start(Example));
|
|
// }
|
|
|
|
// fn Example(ctx: Context, props: ()) -> VNode {
|
|
// let user_data = use_sql_query(&ctx, USER_DATA_QUERY);
|
|
|
|
// ctx.render(rsx! {
|
|
// h1 { "Hello, {username}"}
|
|
// button {
|
|
// "Delete user"
|
|
// onclick: move |_| user_data.delete()
|
|
// }
|
|
// })
|
|
// }
|
|
|
|
fn main() {}
|