우리가 presentationMode를 쓸 때는 주로 ModalView 같은 것을 뷰에서 dismiss할 때 사용했습니다. 아래 코드 처럼요.
struct ModalView: View {
@Environment(\.presentationMode) var mode
var body: some View {
Button("나가기") { mode.wrappedValue.dismiss() }
}
}
공식문서를 보시면 알겠지만 이제 PresentationMode는 deprecated되었다고 합니다😭 (bye bye…) 기존의 PresentationMode는 이제 isPresented와 dismiss로 각각 구분해서 사용하면 된다고 하네요.
바뀐 dismiss를 활용하는 법은 저 쉽습니다. 이제 wrappedValue로 내부값을 가져올 필요 없이 @Environment(.dismiss)로 할당한 변수(에 할당된 함수)를 그냥 실행해주면 됩니다.
struct ModalView: View {
@Environment(\.dismiss) var dismiss
var body: some View {
Button("나가기") { dismiss() }
}
}