跳至主要内容
版本:0.21

通用组件

#[function_component] 属性还可用于泛型函数,以创建泛型组件。

use std::fmt::Display;
use yew::{function_component, html, Properties, Html, ToHtml};

#[derive(Properties, PartialEq)]
pub struct Props<T>
where
T: PartialEq,
{
data: T,
}

#[function_component]
pub fn MyGenericComponent<T>(props: &Props<T>) -> Html
where
T: PartialEq + ToHtml,
{
html! {
<p>
{ &props.data }
</p>
}
}

// then can be used like this
html! {
<MyGenericComponent<i32> data=123 />
};

// or
html! {
<MyGenericComponent<String> data={"foo".to_string()} />
};