useEffect seems to call dispose too late
kyunghoon opened this issue · comments
kyunghoon commented
Example
struct ExampleView : HookView {
var hookBody: some View {
useEffect(.once) {
print("useeffect create")
return {
print("useeffect dispose")
}
}
return Text("")
.onAppear() {
print("swiftui create")
}
.onDisappear() {
print("swiftui dispose")
}
}
Outputs the following
when view is created:
- useeffect create
- swiftui create
when view is disappears:
- swiftui dispose
when view is recreated
- useeffect create
- useeffect dispose
- swiftui create
Expected
useEffect's dispose to be called when the view disappears