What problem does it solve? React applications often flash loading spinners over cached data, silently swallow errors, or leave users without feedback during async operations. This Skill provides concrete patterns and anti-patterns to handle loading, error, and empty states correctly in React components. ## Core Features & Use Cases - Loading State Rules: Apply the golden rule of showing loading indicators only when no data exists, with a decision tree and skeleton-vs-spinner guidance. - Error Handling Hierarchy: Implement a four-level error feedback strategy from inline field errors to full-screen error states, ensuring no error is silently swallowed. - Button and Form States: Disable buttons and show loading indicators during async operations to prevent duplicate submissions. - Use Case: When building a data-driven list page, use the provided pattern to render cached data during refetch, show a retry-enabled error component on failure, and display a contextual empty state when no items exist. ## Quick Start Ask the AI to review your React component's data fetching logic and apply the loading, error, and empty state patterns from this skill.