2个版本
0.1.1 | 2024年7月15日 |
---|---|
0.1.0 | 2024年7月15日 |
370 在 过程宏
209 每月下载量
11KB
224 行
bloom-rsx
基本上,bloom-rsx以这种方式实现rsx,即它只是调用基于builder-pattern crate的构建模式。
标签
小写标签将被转换成对必须在作用域内的tag
函数的调用(bloom-html为HtmlNode
提供了一个)
rsx!(<div id="foo" on_click=|| {} />)
将转换成(相当于)
tag("div")
.attr("id", "foo")
.on("click", || {})
.build()
.into()
子元素
子元素在构建标签本身之后传递
rsx!(<div><span /></div>)
被转换成
tag("div")
.build()
.children(vec![
tag("span").build().into()
])
文本
文本将被转换为目标节点类型,使用into
rsx!(<div>"foobar"</div>)
变为
tag("div")
.build()
.children(vec![
"foobar".into()
])
组件
大写标签被转换成构建模式
rsx!(<MyComponent foo="bar"><div /></MyComponent>)
变为
MyComponent::new()
.foo("bar")
.children(vec![
tag("div").build().into()
])
.build()
.into()
依赖关系
~1.5MB
~36K SLoC