Swiftui 导航到其他视图时,NavigationLink能否执行异步功能?
我正在尝试在SwiftUI中创建一个导航链接,该链接登录用户并导航到下一个屏幕 我已经尝试使用.Simultaneous手势,如下所示,基于。当我让它执行一个简单的操作(例如打印(“hello”)时,代码工作正常并导航到下一页,但当我让它执行authState.signUp函数(异步)时,它调用该函数但不导航到下一页 我有没有别的办法来处理这个问题Swiftui 导航到其他视图时,NavigationLink能否执行异步功能?,swiftui,swiftui-navigationlink,swiftui-navigationview,Swiftui,Swiftui Navigationlink,Swiftui Navigationview,我正在尝试在SwiftUI中创建一个导航链接,该链接登录用户并导航到下一个屏幕 我已经尝试使用.Simultaneous手势,如下所示,基于。当我让它执行一个简单的操作(例如打印(“hello”)时,代码工作正常并导航到下一页,但当我让它执行authState.signUp函数(异步)时,它调用该函数但不导航到下一页 我有没有别的办法来处理这个问题 NavigationLink(destination: NextView()) { Text("Create account&qu
NavigationLink(destination: NextView()) {
Text("Create account")
}
.simultaneousGesture(TapGesture().onEnded {
authState.signUp(user: user)
})
您可以使用navigationLink的选择参数 添加此变量
@State var trigger: Bool? = nil
和使用
NavigationLink(destination: NextView(), tag: true,
selection: $trigger ) {
}
当您的其他工作(登录)完成时,toggle()触发器和navigationLink将启动。谢谢!我最终使用了一种非常类似的策略来设置触发器状态变量,但我在NavigationLink中使用了isActive而不是标记和选择。很高兴能提供帮助。