react · v1.0 · 2026-07-20 · sha256 6e25b8601da8f9d0

react v1.0A

Immutable. This exact content never changes and is served at /api/v1/blob/6e25b8601da8f9d0.

---
name: react
description: Frontend component library.
license: MIT
metadata:
  author: vant
  version: "1.0"
---

# React

> Frontend component library.

---

## When To Use

- DOM components
- SPA framework
- Component-based UI

---

## What To Do

### 1. Component Pattern

```jsx
function MyComponent({ prop }) {
  const [state, setState] = useState(null)

  useEffect(() => {
    // side effects
  }, [])

  return <div>{prop}</div>
}
```

### 2. Common Hooks

| Hook | What |
|------|------|
| useState | Local state |
| useEffect | Side effects |
| useContext | Shared state |
| useRef | DOM reference |
| useMemo | Memorized value |
| useCallback | Memorized function |

### 3. Patterns

```jsx
// Conditional
{condition && <Component />}

// List
items.map(item => <Item key={item.id} {...item} />)

// Form
<form onSubmit={handleSubmit}>
  <input value={value} onChange={e => setValue(e.target.value)} />
</form>
```

### 4. Testing

```javascript
render(<MyComponent prop="value" />)
expect(screen.getByText('value')).toBeInTheDocument()
```

---

## Output

```
## React

| Component | Tested | Status |
|------------|--------|--------|
| [name] | [YES/NO] | [OK] |

### Props Interface
- [list]
```

---

**Role**: React Developer  
**Input**: Components  
**Output**: Working UI

> Component-based UI.