SwiftUI - 当倒计时结束时,跳转到另一个视图

SwiftUI - When the countdown is over, jump to another view

倒计时结束后,我想跳转到另一个视图。 我试过 navigationLink 但没用。

这是我的代码。

struct TimerView: View {

    @State var timeRemaining = 5

    let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()

    var body: some View {
        Text("\(timeRemaining)")
            .font(.largeTitle)
            .onReceive(timer) { _ in
                if self.timeRemaining > 0 {
                    self.timeRemaining -= 1

                }
            }
    }
}

尝试一些变体:

struct TimerView: View {
    @State var timeRemaining = 5
    @State var jump = false
    
    let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
    
    var body: some View {
        NavigationView {
            VStack {
                Text("\(timeRemaining)")
                    .font(.largeTitle)
                    .onReceive(timer) { _ in
                        if timeRemaining > 0 {
                            timeRemaining -= 1
                        } else {
                            jump = true
                            // optional stop the timer
                            timer.upstream.connect().cancel()
                        }
                    }
                NavigationLink("", destination: Text("the other view"), isActive: $jump)
            }
        }
    }
}