diff --git a/packages/core/examples/dummy.rs b/packages/core/examples/dummy.rs index a26aa2baf..2c0e3d51c 100644 --- a/packages/core/examples/dummy.rs +++ b/packages/core/examples/dummy.rs @@ -52,7 +52,7 @@ impl<'a> Context<'a> { fn use_context<'b, I, O: 'b>(&self, f: fn(&'b I) -> O) -> ContextGuard2 { todo!() } - fn add_listener(&self, f: impl Fn(()) + 'static) { + fn add_listener(&self, f: impl Fn(()) + 'a) { todo!() } @@ -78,6 +78,8 @@ fn t<'a>(ctx: Context<'a>) { ctx.add_listener(move |_| { // let val = value.get().as_str(); let val2 = r2.as_bytes(); + println!("v2 is {}", r2); + // println!("refed is {}", refed); }); // let refed = value.deref(); diff --git a/packages/core/src/context.rs b/packages/core/src/context.rs index 8a0772a6f..576801059 100644 --- a/packages/core/src/context.rs +++ b/packages/core/src/context.rs @@ -80,7 +80,7 @@ impl<'a> Context<'a> { DomTree {} } - pub fn callback(&self, f: impl Fn(()) + 'static) {} + pub fn callback(&self, f: impl Fn(()) + 'a) {} /// Create a suspended component from a future. /// @@ -188,7 +188,7 @@ mod context_api { //! use super::*; - use std::{marker::PhantomPinned, ops::Deref}; + use std::{marker::PhantomPinned, mem::swap, ops::Deref}; pub struct RemoteState { inner: *const T, diff --git a/packages/web/examples/basic.rs b/packages/web/examples/basic.rs index 5cfc4aebc..3f3c5cb68 100644 --- a/packages/web/examples/basic.rs +++ b/packages/web/examples/basic.rs @@ -1,14 +1,16 @@ //! basic example that renders a simple domtree to the page :) -//! -//! -//! -use dioxus_core::prelude::bumpalo::Bump; + use dioxus_core::prelude::*; use dioxus_web::*; fn main() { + // Enable logging wasm_logger::init(wasm_logger::Config::new(log::Level::Debug)); + + // Route panic as console_log console_error_panic_hook::set_once(); + + // Render the app WebsysRenderer::simple_render(html! {
@@ -18,37 +20,4 @@ fn main() {
}); - // WebsysRenderer::simple_render(html! { - //
- //
- //
- //
- // // Title - //
- // "Jon's awesome site!!11" - //
- - // // Subtext / description - //
- // "He worked so hard on it :)" - //
- - //
- // // Main number - //
- // "1337" - //
- //
- - // // Try another - // - //
- //
- //
- //
- // }); } diff --git a/packages/web/examples/weather.rs b/packages/web/examples/weather.rs new file mode 100644 index 000000000..a03723c7b --- /dev/null +++ b/packages/web/examples/weather.rs @@ -0,0 +1,45 @@ +//! basic example that renders a simple domtree to the page :) +//! +//! +//! +use dioxus_core::prelude::bumpalo::Bump; +use dioxus_core::prelude::*; +use dioxus_web::*; + +fn main() { + wasm_logger::init(wasm_logger::Config::new(log::Level::Debug)); + console_error_panic_hook::set_once(); + WebsysRenderer::simple_render(html! { +
+
+
+
+ // Title +
+ "Jon's awesome site!!11" +
+ + // Subtext / description +
+ "He worked so hard on it :)" +
+ +
+ // Main number +
+ "1337" +
+
+ + // Try another + +
+
+
+
+ }); +} diff --git a/packages/web/src/lib.rs b/packages/web/src/lib.rs index 6888978f1..bf2f476a4 100644 --- a/packages/web/src/lib.rs +++ b/packages/web/src/lib.rs @@ -36,6 +36,7 @@ use interpreter::PatchMachine; /// pub struct WebsysRenderer { internal_dom: VirtualDom, + // Map of handlers } impl WebsysRenderer {