use leptos::{create_rw_signal, RwSignal, SignalGetUntracked, SignalSet}; pub struct ComponentRef(RwSignal>); impl Default for ComponentRef { fn default() -> Self { Self(create_rw_signal(None)) } } impl Clone for ComponentRef { fn clone(&self) -> Self { *self } } impl Copy for ComponentRef {} impl ComponentRef { pub fn get_untracked(&self) -> Option where T: Clone, { self.0.get_untracked() } pub fn load(&self, comp_ref: T) { self.0.set(Some(comp_ref)); } }