A naive search input fires on every keystroke. Type "hello" and the backend gets hit five times, results flicker as they arrive out of order, and the app feels heavy. Debounced Search Input waits for typing to pause for a configurable interval before firing its OnSearch event, so the backend gets called exactly once per pause with the current text. It's a tiny piece of code with an outsized impact on performance and perceived quality.
OnSearch
type=button