You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TCA中@ObservationState的新绑定语法咨询(ViewStore已弃用)

TCA中替代ViewStore绑定的新语法

在The Composable Architecture(TCA)的新版本里,ViewStore已不再作为推荐用法,你之前的绑定写法可以替换为以下两种常用实现方式:

直接通过Store创建绑定

无需额外创建ViewStore,直接利用Store的binding方法生成绑定,TCA会自动将输入值转换为对应的Action:

TextField("Name", text: store.binding(\.$text))

这里的\.$text是指向状态中text属性的键路径,前提是你的Reducer已经配置好对应属性的绑定Action处理逻辑(对应你之前代码里的.updateText($0))。

使用@Bindable包装器传递绑定

如果需要将状态对象传递给子视图,可先用@Bindable修饰状态实例,再通过$前缀获取绑定:

// 视图内部定义
@Bindable var state: YourAppState

var body: some View {
    TextField("Name", text: $state.text)
}

这种方式需要确保Reducer能处理状态属性的变更,通常可以借助TCA提供的.binding扩展让Reducer自动处理这类绑定Action。

内容的提问来源于stack exchange,提问作者Small Talk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:48:15