Any Action as Component on Rendering - レンダリングごとに任意のアクションを実行するコンポーネント

Any Action as Component on Rendering - レンダリングごとに任意のアクションを実行するコンポーネント

struct DebugAction: View {
  
  var body: some View {
    // We want to use `Never`
    // How does built-in component (e.g ZStack) do this?
    EmptyView()
  }
    
  init(_ action: () -> Void) {
    #if DEBUG
    action()
    #endif
  }
    
}

VStack {
  GeometryReader { proxy in
    DebugAction {
      print(proxy.size)
    }
  }
  Text("")
}