This is unreleased documentation for Yew Next version.
For up-to-date documentation, see the latest version on docs.rs.
yew::prelude

Struct AppHandle

source
pub struct AppHandle<COMP: BaseComponent> { /* private fields */ }
Available on crate feature csr only.
Expand description

An instance of an application.

Implementations§

source§

impl<COMP> AppHandle<COMP>
where COMP: BaseComponent,

source

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.

source

pub fn destroy(self)

Schedule the app for destruction

Methods from Deref<Target = Scope<COMP>>§

source

pub fn get_parent(&self) -> Option<&AnyScope>

Returns the parent scope

source

pub fn callback<F, IN, M>(&self, function: F) -> Callback<IN>
where M: Into<COMP::Message>, F: Fn(IN) -> M + 'static,

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.

source

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));
source

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.

source

pub fn send_future<Fut, Msg>(&self, future: Fut)
where Msg: Into<COMP::Message>, Fut: Future<Output = Msg> + 'static,

This method asynchronously awaits a Future that returns a message and sends it to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn callback_future<F, Fut, IN, Msg>(&self, function: F) -> Callback<IN>
where Msg: Into<COMP::Message>, Fut: Future<Output = Msg> + 'static, F: Fn(IN) -> Fut + 'static,

This method creates a Callback which, when emitted, asynchronously awaits the message returned from the passed function before sending it to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn send_future_batch<Fut>(&self, future: Fut)
where Fut: Future + 'static, Fut::Output: SendAsMessage<COMP>,

Asynchronously send a batch of messages to a component. This asynchronously awaits the passed Future, before sending the message batch to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn send_stream<S, M>(&self, stream: S)
where M: Into<COMP::Message>, S: Stream<Item = M> + 'static,

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.

source

pub fn get_component(&self) -> Option<impl Deref<Target = COMP> + '_>

Returns the linked component if available

source

pub fn send_message<T>(&self, msg: T)
where T: Into<COMP::Message>,

Send a message to the component.

source

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§

source§

impl<COMP: Debug + BaseComponent> Debug for AppHandle<COMP>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<COMP> Deref for AppHandle<COMP>
where COMP: BaseComponent,

source§

type Target = Scope<COMP>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoPropValue<Option<T>> for T

source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
source§

impl<T> IntoPropValue<T> for T

source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more