From c00089bd5728188ce554303b5b18754467c97c85 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 02 Feb 2024 05:19:51 +0000
Subject: [PATCH] chore: add window.addCleanup() for cleaning up handlers
---
docs/advanced/creating components.md | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/docs/advanced/creating components.md b/docs/advanced/creating components.md
index 1496b15..27369ab 100644
--- a/docs/advanced/creating components.md
+++ b/docs/advanced/creating components.md
@@ -156,12 +156,13 @@
// do page specific logic here
// e.g. attach event listeners
const toggleSwitch = document.querySelector("#switch") as HTMLInputElement
- toggleSwitch.removeEventListener("change", switchTheme)
toggleSwitch.addEventListener("change", switchTheme)
+ window.addCleanup(() => toggleSwitch.removeEventListener("change", switchTheme))
})
```
-It is best practice to also unmount any existing event handlers to prevent memory leaks.
+It is best practice to track any event handlers via `window.addCleanup` to prevent memory leaks.
+This will get called on page navigation.
#### Importing Code
--
Gitblit v1.10.0