weakmap_memory_opt
🗑️ Optimize Memory with WeakMap References
Store per-element state in a WeakMap
keyed by the element, preventing memory leaks when elements are removed. This is critical for long‑lived single-page apps.
import { Controller } from "@hotwired/stimulus"
const stateStore = new WeakMap()
export default class extends Controller {
connect() {
stateStore.set(this.element, { count: 0 })
}
increment() {
const state = stateStore.get(this.element)
state.count++
this.element.textContent = `Count: ${state.count}`
}
disconnect() {
// no need to manually clean up
}
}