# Debounce Expensive Alpine.js Operations

Wrap watchers and event handlers with debounce to avoid firing on every keystroke/scroll.

```typescript
component: () => ({
  search: '',
  init() {
    this.$watch('search', debounce((value) => this.performSearch(value), 300))
  }
})
```
