import SwiftUI // MARK: - On load extension View { func onLoad(_ action: @escaping () -> Void) -> some View { modifier(ViewDidLoadModifier(action)) } } private struct ViewDidLoadModifier: ViewModifier { private let action: () -> Void @State private var didLoad = false init(_ action: @escaping () -> Void) { self.action = action } func body(content: Content) -> some View { content.onAppear { if !didLoad { didLoad.toggle() action() } } } }