Back to skills
SKILL.md
Rerender Memo
ASecurityImported skill rerender_memo 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_memo --agent claude-codeAre you the author of Rerender Memo?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/bitwikiorg-rerender-memo)---
description: Imported skill rerender_memo from vercel
name: rerender_memo
signature: 1f258990c2f27ff6256b3cc5c43300631bb3f0d81f749aed08d07fcdcc131dd1
source: /a0/tmp/skills_research/vercel/skills/react-best-practices/rules/rerender-memo.md
---
---
title: Extract to Memoized Components
impact: MEDIUM
impactDescription: enables early returns
tags: rerender, memo, useMemo, optimization
---
## Extract to Memoized Components
Extract expensive work into memoized components to enable early returns before computation.
**Incorrect (computes avatar even when loading):**
```tsx
function Profile({ user, loading }: Props) {
const avatar = useMemo(() => {
const id = computeAvatarId(user)
return <Avatar id={id} />
}, [user])
if (loading) return <Skeleton />
return <div>{avatar}</div>
}
```
**Correct (skips computation when loading):**
```tsx
const UserAvatar = memo(function UserAvatar({ user }: { user: User }) {
const id = useMemo(() => computeAvatarId(user), [user])
return <Avatar id={id} />
})
function Profile({ user, loading }: Props) {
if (loading) return <Skeleton />
return (
<div>
<UserAvatar user={user} />
</div>
)
}
```
**Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
Attribution
Comments
Loading comments…