React Patterns
Requires: typescript-patterns skill
Components
| Rule | Correct | Incorrect |
|---|---|---|
| Export | export function X | export default X |
| Props | interface XProps | type XProps = {} |
| Style | function X() | const X = () => |
| Lazy | lazy(() => import('./X')) | direct import for heavy |
Hooks
- •Name:
use<Name>, File:use<Name>.ts - •Define return interface:
interface Use<Name>Return { ... } - •Wrap handlers in
useCallback - •Memoize expensive computations with
useMemo
Providers
- •Context default:
undefined - •Hook throws if used outside provider
- •
useMemofor context value - •
useCallbackfor actions
Testing
- •Colocate tests with components
- •Use
userEventoverfireEvent - •
waitForfor async assertions - •MSW for network mocking
Structure
text
src/components/<Name>/<Name>.tsx src/hooks/use<Name>.ts src/providers/<Name>Provider.tsx
References
- •references/test-utils.tsx - Testing utilities setup
- •references/test-setup.ts - Vitest setup file
Assets
Copy and modify: