Back to skills
SKILL.md
Rerender Transitions
ASecurityImported skill rerender_transitions from vercel
- 3 stars
- 0 votes
- 0 copies
- 1 view
- Added September 11, 2026
Security analysis
100/100npx -y skills add bitwikiorg/skills.md --skill rerender_transitions --agent claude-codeAre you the author of Rerender Transitions?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/bitwikiorg-rerender-transitions)---
description: Imported skill rerender_transitions from vercel
name: rerender_transitions
signature: 60f4033909a62df5e5b8c601494f9e50a562e2f8c1c2d81eac24f38142265f1c
source: /a0/tmp/skills_research/vercel/skills/react-best-practices/rules/rerender-transitions.md
---
---
title: Use Transitions for Non-Urgent Updates
impact: MEDIUM
impactDescription: maintains UI responsiveness
tags: rerender, transitions, startTransition, performance
---
## Use Transitions for Non-Urgent Updates
Mark frequent, non-urgent state updates as transitions to maintain UI responsiveness.
**Incorrect (blocks UI on every scroll):**
```tsx
function ScrollTracker() {
const [scrollY, setScrollY] = useState(0)
useEffect(() => {
const handler = () => setScrollY(window.scrollY)
window.addEventListener('scroll', handler, { passive: true })
return () => window.removeEventListener('scroll', handler)
}, [])
}
```
**Correct (non-blocking updates):**
```tsx
import { startTransition } from 'react'
function ScrollTracker() {
const [scrollY, setScrollY] = useState(0)
useEffect(() => {
const handler = () => {
startTransition(() => setScrollY(window.scrollY))
}
window.addEventListener('scroll', handler, { passive: true })
return () => window.removeEventListener('scroll', handler)
}, [])
}
```
Attribution
Comments
Loading comments…