Struct dioxus_core::prelude::RuntimeGuard
source · pub struct RuntimeGuard(/* private fields */);
Expand description
A gaurd for a new runtime. This must be used to override the current runtime when importing components from a dynamic library that has it’s own runtime.
use dioxus::prelude::*;
fn main() {
let virtual_dom = VirtualDom::new(app);
}
fn app(cx: Scope) -> Element {
render!{ Component { runtime: Runtime::current().unwrap() } }
}
// In a dynamic library
#[derive(Props)]
struct ComponentProps {
runtime: std::rc::Rc<Runtime>,
}
impl PartialEq for ComponentProps {
fn eq(&self, _other: &Self) -> bool {
true
}
}
fn Component(cx: Scope<ComponentProps>) -> Element {
cx.use_hook(|| RuntimeGuard::new(cx.props.runtime.clone()));
render! { div {} }
}
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for RuntimeGuard
impl !Send for RuntimeGuard
impl !Sync for RuntimeGuard
impl Unpin for RuntimeGuard
impl !UnwindSafe for RuntimeGuard
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more