Init State var 来自另一个视图,swiftui [重复]

Posted

技术标签:

【中文标题】Init State var 来自另一个视图,swiftui [重复]【英文标题】:Init State var coming from another view , swiftui [duplicate] 【发布时间】:2022-01-15 09:21:53 【问题描述】:

从视图 A 导航到视图 B,我正在传递一个 var show 。视图 A 不再可见。

我需要一个 @State var stateShow ,其初始值与从 A 传递给 B 的值 show 相同。

不使用 onAppear 怎么办?谢谢

struct B : View 

    public var show:Bool
    
    @State private stateShow : Bool
    
    init (_ show : Bool)
        self.show = show
    
    

【问题讨论】:

可能,但据我所知 _stateShow = State(initialValue: show) 【参考方案1】:

init (_ show : Bool)

    self.show = show
    _stateShow = State(initialValue: show)

答案归功于 vadian,另一个类似的问题被问到了类似的答案,但条件略有不同:

【讨论】:

以上是关于Init State var 来自另一个视图,swiftui [重复]的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI - 使用 ForEach 时,您应该在子视图中使用 `@State var` 还是 `let`

创建一个@State var 区域,即基于两个@State var 宽度,一个@State var 高度

从 @Binding var 修改 @State var 不会刷新 SwiftUI 中的视图

在 init() 构造函数中初始化的带有 @State 的 SwiftUI 视图

防止 updateUIView 在 @State var 更改时更新视图

当 @State var 基于 Picker 选择发生变化时,一个视图不会重新呈现