React does indeed handle event delegation internally through its SyntheticEvent system. However, there are still specific scenarios where manual event delegation can be beneficial.
React's Built-in Event Delegation
React automatically delegates most events to the document root, so when you write:
javascript<button onClick={handleClick}>Click me</button>
React doesn't actually attach the listener to that specific button - it uses a single delegated listener at the document level.
When Manual Event Delegation is Still Useful
Despite React's internal delegation, manual event delegation is valuable for:
Performance with large dynamic lists (1000+ items)
Complex nested interactions within list items
Mixed event types on the same container
Integration with non-React libraries