fix the web platform

This commit is contained in:
Evan Almloff 2024-01-18 10:18:37 -06:00
parent aa30079633
commit cb5a43c120
3 changed files with 23 additions and 23 deletions

View file

@ -0,0 +1,22 @@
//! This module contains the `launch` function, which is the main entry point for dioxus web
pub use crate::Config;
use dioxus_core::prelude::*;
use std::any::Any;
/// Launch the web application with the given root component, context and config
///
/// For a builder API, see `LaunchBuilder` defined in the `dioxus` crate.
pub fn launch(
root: fn() -> Element,
contexts: Vec<Box<dyn Fn() -> Box<dyn Any>>>,
platform_config: Config,
) {
wasm_bindgen_futures::spawn_local(async move {
let mut vdom = VirtualDom::new(root);
for context in contexts {
vdom.insert_any_root_context(context());
}
crate::run(vdom, platform_config).await;
});
}

View file

@ -71,10 +71,9 @@ mod dom;
#[cfg(feature = "eval")]
mod eval;
mod event;
pub mod launch;
mod mutations;
mod platform;
pub use event::*;
pub use platform::*;
#[cfg(feature = "file_engine")]
mod file_engine;
#[cfg(all(feature = "hot_reload", debug_assertions))]

View file

@ -1,21 +0,0 @@
pub mod launch {
use std::any::Any;
use dioxus_core::prelude::*;
pub type Config = crate::Config;
pub fn launch(
root: fn() -> Element,
contexts: Vec<Box<dyn Fn() -> Box<dyn Any> + Send>>,
platform_config: Config,
) {
wasm_bindgen_futures::spawn_local(async move {
let mut vdom = VirtualDom::new(root);
for context in contexts {
vdom.insert_any_root_context(context());
}
crate::run(vdom, platform_config).await;
});
}
}