onAppear(perform:)func onAppear(perform action: (() -> Void)? = nil) -> some View
view가 나타나면 action을 트리거하는 view를 반환
onDisappear(perform:)func onDisappear(perform action: (() -> Void)? = nil) -> some View
view가 사라지면 action을 트리거하는 view를 반환
onChange(of:perform:)func onChange<V>(of value: V, perform action: @escaping (V) -> Void)
-> some View where V : Equatable
value가 변하면 action을 실행하는 뷰를 반환
첫 화면은 To Destination 버튼을 눌렀을 때 DestinationView를 sheet로 띄우도록 구현

두 번째 화면은 Increase Count버튼을 누르면 숫자가 올라가고, Dismiss버튼을 누르면 해당 뷰가 닫히도록 구현

그 후 두 번째 뷰의 VStack에 각각 onAppear(perform:), onDisappear(perform:), onChange(of:perform:)을 추가

UIViewController에서 viewDid...에 해당하는 듯 하다.viewDidDisappear()과 유사하다는 것을 추측할 수 있다.func task(priority: TaskPriority = .userInitiated, _ action: @escaping () async -> Void)
-> some View
view가 나타나면 비동기 작업을 실행하는 메서드
action 클로저에 async가 붙어있으므로 클로저 내부에 await 키워드 등을 사용해야 함priority를 설정 가능