mirror of
https://github.com/DioxusLabs/dioxus
synced 2025-02-17 06:08:26 +00:00
Merge pull request #156 from DioxusLabs/jk/web-launch-cfg
Correct dioxus web docs to include the third paramter
This commit is contained in:
commit
6c5987424e
3 changed files with 36 additions and 9 deletions
|
@ -149,7 +149,7 @@ pub fn launch_with_props<P: 'static + Send>(
|
||||||
props: P,
|
props: P,
|
||||||
builder: impl FnOnce(&mut DesktopConfig) -> &mut DesktopConfig,
|
builder: impl FnOnce(&mut DesktopConfig) -> &mut DesktopConfig,
|
||||||
) {
|
) {
|
||||||
let mut cfg = DesktopConfig::new();
|
let mut cfg = DesktopConfig::default();
|
||||||
builder(&mut cfg);
|
builder(&mut cfg);
|
||||||
|
|
||||||
let event_loop = EventLoop::with_user_event();
|
let event_loop = EventLoop::with_user_event();
|
||||||
|
|
|
@ -30,7 +30,7 @@ impl WebConfig {
|
||||||
/// work and suspended nodes.
|
/// work and suspended nodes.
|
||||||
///
|
///
|
||||||
/// Dioxus will load up all the elements with the `dio_el` data attribute into memory when the page is loaded.
|
/// Dioxus will load up all the elements with the `dio_el` data attribute into memory when the page is loaded.
|
||||||
pub fn hydrate(mut self, f: bool) -> Self {
|
pub fn hydrate(&mut self, f: bool) -> &mut Self {
|
||||||
self.hydrate = f;
|
self.hydrate = f;
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ impl WebConfig {
|
||||||
/// Set the name of the element that Dioxus will use as the root.
|
/// Set the name of the element that Dioxus will use as the root.
|
||||||
///
|
///
|
||||||
/// This is akint to calling React.render() on the element with the specified name.
|
/// This is akint to calling React.render() on the element with the specified name.
|
||||||
pub fn rootname(mut self, name: impl Into<String>) -> Self {
|
pub fn rootname(&mut self, name: impl Into<String>) -> &mut Self {
|
||||||
self.rootname = name.into();
|
self.rootname = name.into();
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ impl WebConfig {
|
||||||
/// Set the name of the element that Dioxus will use as the root.
|
/// Set the name of the element that Dioxus will use as the root.
|
||||||
///
|
///
|
||||||
/// This is akint to calling React.render() on the element with the specified name.
|
/// This is akint to calling React.render() on the element with the specified name.
|
||||||
pub fn with_string_cache(mut self, cache: Vec<String>) -> Self {
|
pub fn with_string_cache(&mut self, cache: Vec<String>) -> &mut Self {
|
||||||
self.cached_strings = cache;
|
self.cached_strings = cache;
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,6 +92,29 @@ pub fn launch(root_component: Component) {
|
||||||
launch_with_props(root_component, (), |c| c);
|
launch_with_props(root_component, (), |c| c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Launch your app and run the event loop, with configuration.
|
||||||
|
///
|
||||||
|
/// This function will start your web app on the main web thread.
|
||||||
|
///
|
||||||
|
/// You can configure the WebView window with a configuration closure
|
||||||
|
///
|
||||||
|
/// ```rust
|
||||||
|
/// use dioxus::prelude::*;
|
||||||
|
///
|
||||||
|
/// fn main() {
|
||||||
|
/// dioxus_web::launch_with_props(App, |config| config.pre_render(true));
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// fn app(cx: Scope) -> Element {
|
||||||
|
/// cx.render(rsx!{
|
||||||
|
/// h1 {"hello world!"}
|
||||||
|
/// })
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
pub fn launch_cfg(root: Component, config_builder: impl FnOnce(&mut WebConfig) -> &mut WebConfig) {
|
||||||
|
launch_with_props(root, (), config_builder)
|
||||||
|
}
|
||||||
|
|
||||||
/// Launches the VirtualDOM from the specified component function and props.
|
/// Launches the VirtualDOM from the specified component function and props.
|
||||||
///
|
///
|
||||||
/// This method will block the thread with `spawn_local`
|
/// This method will block the thread with `spawn_local`
|
||||||
|
@ -100,7 +123,11 @@ pub fn launch(root_component: Component) {
|
||||||
///
|
///
|
||||||
/// ```rust, ignore
|
/// ```rust, ignore
|
||||||
/// fn main() {
|
/// fn main() {
|
||||||
/// dioxus_web::launch_with_props(App, RootProps { name: String::from("joe") });
|
/// dioxus_web::launch_with_props(
|
||||||
|
/// App,
|
||||||
|
/// RootProps { name: String::from("joe") },
|
||||||
|
/// |config| config
|
||||||
|
/// );
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// #[derive(ParitalEq, Props)]
|
/// #[derive(ParitalEq, Props)]
|
||||||
|
@ -112,19 +139,19 @@ pub fn launch(root_component: Component) {
|
||||||
/// rsx!(cx, div {"hello {cx.props.name}"})
|
/// rsx!(cx, div {"hello {cx.props.name}"})
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
pub fn launch_with_props<T, F>(
|
pub fn launch_with_props<T>(
|
||||||
root_component: Component<T>,
|
root_component: Component<T>,
|
||||||
root_properties: T,
|
root_properties: T,
|
||||||
configuration_builder: F,
|
configuration_builder: impl FnOnce(&mut WebConfig) -> &mut WebConfig,
|
||||||
) where
|
) where
|
||||||
T: Send + 'static,
|
T: Send + 'static,
|
||||||
F: FnOnce(WebConfig) -> WebConfig,
|
|
||||||
{
|
{
|
||||||
if cfg!(feature = "panic_hook") {
|
if cfg!(feature = "panic_hook") {
|
||||||
console_error_panic_hook::set_once();
|
console_error_panic_hook::set_once();
|
||||||
}
|
}
|
||||||
|
|
||||||
let config = configuration_builder(WebConfig::default());
|
let mut config = WebConfig::default();
|
||||||
|
configuration_builder(&mut config);
|
||||||
wasm_bindgen_futures::spawn_local(run_with_props(root_component, root_properties, config));
|
wasm_bindgen_futures::spawn_local(run_with_props(root_component, root_properties, config));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue