Concept Flow - useFetcher for non-navigation mutations
Component renders
useFetcher hook creates fetcher object
User triggers mutation (e.g., form submit)
fetcher.submit() sends POST request
Server processes mutation
fetcher.state updates: submitting -> loading -> idle
Component re-renders with fetcher.data
UI updates without navigation
The useFetcher hook creates a fetcher object to send mutations without changing pages. When triggered, it sends a request, updates state, and re-renders the component with new data.
