fix the liveview launch function

This commit is contained in:
Evan Almloff 2024-03-13 13:42:22 -05:00
parent 930f8bffbc
commit a428c61457
2 changed files with 19 additions and 17 deletions

View file

@ -41,8 +41,9 @@ tower = { workspace = true }
dioxus = { workspace = true }
[features]
default = ["hot-reload"]
default = ["hot-reload", "multi-thread"]
axum = ["dep:axum"]
multi-thread = ["tokio/rt-multi-thread"]
hot-reload = ["dioxus-hot-reload"]
[[example]]

View file

@ -9,22 +9,23 @@ pub fn launch(
contexts: Vec<Box<dyn Fn() -> Box<dyn Any> + Send + Sync>>,
platform_config: Config,
) {
tokio::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.unwrap()
.block_on(async move {
platform_config
.with_virtual_dom(move || {
let mut virtual_dom = VirtualDom::new(root);
#[cfg(feature = "multi-threaded")]
let mut builder = tokio::runtime::Builder::new_multi_thread();
#[cfg(not(feature = "multi-threaded"))]
let mut builder = tokio::runtime::Builder::new_current_thread();
for context in &contexts {
virtual_dom.insert_any_root_context(context());
}
builder.enable_all().build().unwrap().block_on(async move {
platform_config
.with_virtual_dom(move || {
let mut virtual_dom = VirtualDom::new(root);
virtual_dom
})
.launch()
.await;
});
for context in &contexts {
virtual_dom.insert_any_root_context(context());
}
virtual_dom
})
.launch()
.await;
});
}