TwKit
正在载入
TwKit

Swift 写网页时,状态归谁管?ElementaryUI 把三种情况分开: ① @State:视图自己的可变状态 计数器用 @State 保存 count… · @BaiBtw · TwKit

@BaiBtw

Swift 写网页时,状态归谁管?ElementaryUI 把三种情况分开: ① @State:视图自己的可变状态 计数器用 @State 保存 count,点击按钮加一,依赖它的视图会重新求值。状态随已挂载的视图保留;视图移出层级后,对应内存释放。重建视图值,不等于把状态清零。 ② @Reactive:引用类型中的状态 CounterModel 把计数、递增和重置放进类里,label 根据 count 生成。视图读取这些属性后,属性变化会触发相关视图重新求值。 ③ @Binding:子视图读写父视图的状态 父视图用 $count 传入绑定,子视图声明 @Binding var count,再通过按钮修改它;状态仍由父视图拥有。 它借用了 SwiftUI 的 View、State 思路,但页面仍由 HTML 元素和 CSS 构成,没有照搬 HStack、VStack 或高层 Button、List。视图值描述新界面,框架据此更新已挂载的 DOM。 框架不使用类型反射和运行时泛型;@View 在编译期承担部分工作,@Reactive 提供兼容 Embedded Swift 的轻量响应式模型,从而支持较小的 WebAssembly 产物。应用也可选择完整 Swift。项目仍处早期,不能把熟悉的语法等同于 SwiftUI 的完整能力或生产成熟度。

曝光 29 · 评论 0 · 点赞 0 · 书签 0

查看原帖