Skip to main content

ActivityHost

Trait ActivityHost 

Source
pub trait ActivityHost: Sized + 'static {
    type Message: Send + Debug;
    type Context;
    type Route: Route;
    type View<'a>
       where Self: 'a;
    type Task;

    // Required methods
    fn empty_task() -> Self::Task;
    fn batch_tasks(tasks: Vec<Self::Task>) -> Self::Task;
}
Expand description

宿主环境抽象。

为框架提供类型映射,使其可以兼容不同的 UI 引擎(如 Iced、Dioxus 等)。

Required Associated Types§

Source

type Message: Send + Debug

框架全局传递的消息类型。

Source

type Context

全局上下文类型,通常用于存储全局状态或共享服务。

Source

type Route: Route

业务路由枚举类型。

Source

type View<'a> where Self: 'a

视图类型。

利用 GATs(通用关联类型)将生命周期 'a 绑定到视图上, 允许视图直接安全地借用 Activity 内部的数据(例如 Iced 的 Element<'a, Message>)。

Source

type Task

异步任务类型。

用于封装页面生命周期和交互中产生的副作用(例如 Iced 的 Task<Message>)。

Required Methods§

Source

fn empty_task() -> Self::Task

创建一个不执行任何操作的空任务。

作为任务系统的“单位元”,用于那些不需要产生副作用的生命周期钩子。

Source

fn batch_tasks(tasks: Vec<Self::Task>) -> Self::Task

将多个异步任务合并为一个宏任务。

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§