pub struct AppHandle<COMP: BaseComponent> { /* private fields */ }
csr
only.Expand description
An instance of an application.
Implementations§
source§impl<COMP> AppHandle<COMP>where
COMP: BaseComponent,
impl<COMP> AppHandle<COMP>where
COMP: BaseComponent,
sourcepub fn update(&mut self, new_props: COMP::Properties)
pub fn update(&mut self, new_props: COMP::Properties)
Update the properties of the app’s root component.
This can be an alternative to sending and handling messages. The existing component will be
reused and have its properties updates. This will presumably trigger a re-render, refer to
the changed
lifecycle for details.
Methods from Deref<Target = Scope<COMP>>§
sourcepub fn get_parent(&self) -> Option<&AnyScope>
pub fn get_parent(&self) -> Option<&AnyScope>
Returns the parent scope
sourcepub fn callback<F, IN, M>(&self, function: F) -> Callback<IN>
pub fn callback<F, IN, M>(&self, function: F) -> Callback<IN>
Creates a Callback
which will send a message to the linked
component’s update method when invoked.
If your callback function returns a Future,
use callback_future
instead.
sourcepub fn batch_callback<F, IN, OUT>(&self, function: F) -> Callback<IN>where
F: Fn(IN) -> OUT + 'static,
OUT: SendAsMessage<COMP>,
pub fn batch_callback<F, IN, OUT>(&self, function: F) -> Callback<IN>where
F: Fn(IN) -> OUT + 'static,
OUT: SendAsMessage<COMP>,
Creates a Callback
which will send a batch of messages back
to the linked component’s update method when invoked.
The callback function’s return type is generic to allow for dealing with both
Option
and Vec
nicely. Option
can be used when dealing with a callback that
might not need to send an update.
link.batch_callback(|_| vec![Msg::A, Msg::B]);
link.batch_callback(|_| Some(Msg::A));
sourcepub fn context<T: Clone + PartialEq + 'static>(
&self,
callback: Callback<T>,
) -> Option<(T, ContextHandle<T>)>
pub fn context<T: Clone + PartialEq + 'static>( &self, callback: Callback<T>, ) -> Option<(T, ContextHandle<T>)>
Accesses a value provided by a parent ContextProvider
component of the
same type.
sourcepub fn send_future<Fut, Msg>(&self, future: Fut)
pub fn send_future<Fut, Msg>(&self, future: Fut)
sourcepub fn callback_future<F, Fut, IN, Msg>(&self, function: F) -> Callback<IN>
pub fn callback_future<F, Fut, IN, Msg>(&self, function: F) -> Callback<IN>
sourcepub fn send_future_batch<Fut>(&self, future: Fut)
pub fn send_future_batch<Fut>(&self, future: Fut)
sourcepub fn send_stream<S, M>(&self, stream: S)
pub fn send_stream<S, M>(&self, stream: S)
This method asynchronously awaits a [Stream
] that returns a series of messages and sends
them to the linked component.
§Panics
If the stream panics, then the promise will not resolve, and will leak.
§Note
This method will not notify the component when the stream has been fully exhausted. If
you want this feature, you can add an EOF message variant for your component and use
[StreamExt::chain
] and stream::once
to chain an EOF message to
the original stream. If your stream is produced by another crate, you can use
[StreamExt::map
] to transform the stream’s item type to the component message type.
sourcepub fn get_component(&self) -> Option<impl Deref<Target = COMP> + '_>
pub fn get_component(&self) -> Option<impl Deref<Target = COMP> + '_>
Returns the linked component if available
sourcepub fn send_message<T>(&self, msg: T)
pub fn send_message<T>(&self, msg: T)
Send a message to the component.
sourcepub fn send_message_batch(&self, messages: Vec<COMP::Message>)
pub fn send_message_batch(&self, messages: Vec<COMP::Message>)
Send a batch of messages to the component.
This is slightly more efficient than calling send_message
in a loop.
Trait Implementations§
Auto Trait Implementations§
impl<COMP> Freeze for AppHandle<COMP>
impl<COMP> !RefUnwindSafe for AppHandle<COMP>
impl<COMP> !Send for AppHandle<COMP>
impl<COMP> !Sync for AppHandle<COMP>
impl<COMP> Unpin for AppHandle<COMP>where
COMP: Unpin,
impl<COMP> !UnwindSafe for AppHandle<COMP>
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
self
to a value of a Properties
struct.source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
self
to a value of a Properties
struct.