Feat: more cleanup
This commit is contained in:
1 parent
cf16090838
commit
5a9155b059
17 files changed
+156
-259
No files matched your search
@@ -8,15 +8,14 @@ use dioxus_web::WebsysRenderer;
|
||||
// static IMG: ImgAsset = dioxus_asset!("");
|
||||
|
||||
fn main() {
|
||||
wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
|
||||
console_error_panic_hook::set_once();
|
||||
// wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
|
||||
// console_error_panic_hook::set_once();
|
||||
wasm_bindgen_futures::spawn_local(WebsysRenderer::start(Example))
|
||||
}
|
||||
|
||||
static Example: FC<()> = |ctx, props| {
|
||||
let (name, set_name) = use_state(&ctx, || "...?");
|
||||
|
||||
let handler = move |_| set_name("jill");
|
||||
|
||||
ctx.render(rsx! {
|
||||
div {
|
||||
@@ -36,12 +35,14 @@ static Example: FC<()> = |ctx, props| {
|
||||
}
|
||||
button {
|
||||
class: "inline-block py-4 px-8 mr-6 leading-none text-white bg-indigo-600 hover:bg-indigo-900 font-semibold rounded shadow"
|
||||
onfocus: {handler}
|
||||
onmouseover: move |_| {
|
||||
set_name("jill");
|
||||
}
|
||||
onmouseover: move |_| set_name("jill")
|
||||
"Jill!"
|
||||
}
|
||||
button {
|
||||
class: "inline-block py-4 px-8 mr-6 leading-none text-white bg-indigo-600 hover:bg-indigo-900 font-semibold rounded shadow"
|
||||
onmouseover: move |e| set_name("....")
|
||||
"Reset!"
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
@@ -76,27 +76,27 @@ impl WebsysRenderer {
|
||||
// todo: initialize the event registry properly on the root
|
||||
|
||||
self.internal_dom.rebuild()?.iter().for_each(|edit| {
|
||||
log::debug!("patching with {:?}", edit);
|
||||
// log::debug!("patching with {:?}", edit);
|
||||
patch_machine.handle_edit(edit);
|
||||
});
|
||||
log::debug!("patch stack size {:?}", patch_machine.stack);
|
||||
// log::debug!("patch stack size {:?}", patch_machine.stack);
|
||||
|
||||
// Event loop waits for the receiver to finish up
|
||||
// TODO! Connect the sender to the virtual dom's suspense system
|
||||
// Suspense is basically an external event that can force renders to specific nodes
|
||||
while let Some(event) = receiver.next().await {
|
||||
log::debug!("patch stack size before {:#?}", patch_machine.stack);
|
||||
// log::debug!("patch stack size before {:#?}", patch_machine.stack);
|
||||
// patch_machine.reset();
|
||||
// patch_machine.stack.push(root_node.clone());
|
||||
self.internal_dom
|
||||
.progress_with_event(event)?
|
||||
.iter()
|
||||
.for_each(|edit| {
|
||||
log::debug!("edit stream {:?}", edit);
|
||||
// log::debug!("edit stream {:?}", edit);
|
||||
patch_machine.handle_edit(edit);
|
||||
});
|
||||
|
||||
log::debug!("patch stack size after {:#?}", patch_machine.stack);
|
||||
// log::debug!("patch stack size after {:#?}", patch_machine.stack);
|
||||
patch_machine.reset();
|
||||
// our root node reference gets invalidated
|
||||
// not sure why
|
||||
|
||||
Reference in new issue
Block a user