NavigationLink 可以在导航到另一个视图时执行异步功能吗?
Can a NavigationLink perform an async function when navigating to another view?
我正在尝试在 SwiftUI 中创建一个导航 link,用于登录用户并导航到下一个屏幕。
我尝试使用 .simultaneousGesture,如下所示,基于 。当我让它执行一个简单的动作(例如 print("hello"))时,代码工作正常并导航到下一页,但是当我让它执行我的 authState.signUp 函数(异步)时,它调用功能,但不导航到下一页。
我应该用不同的方式来处理这个问题吗?
NavigationLink(destination: NextView()) {
Text("Create account")
}
.simultaneousGesture(TapGesture().onEnded {
authState.signUp(user: user)
})
您可以使用导航链接的选择参数
添加这个变量
@State var trigger: Bool? = nil
并使用
NavigationLink(destination: NextView(), tag: true,
selection: $trigger ) {
}
当你的其他工作(登录)完成时 toggle() 触发器和 navigationLink 触发。
我正在尝试在 SwiftUI 中创建一个导航 link,用于登录用户并导航到下一个屏幕。
我尝试使用 .simultaneousGesture,如下所示,基于
我应该用不同的方式来处理这个问题吗?
NavigationLink(destination: NextView()) {
Text("Create account")
}
.simultaneousGesture(TapGesture().onEnded {
authState.signUp(user: user)
})
您可以使用导航链接的选择参数
添加这个变量
@State var trigger: Bool? = nil
并使用
NavigationLink(destination: NextView(), tag: true,
selection: $trigger ) {
}
当你的其他工作(登录)完成时 toggle() 触发器和 navigationLink 触发。