AgentSkillsCN

rerender_dependencies

从Vercel导入技能:rerender_dependencies

SKILL.md
--- frontmatter
description: Imported skill rerender_dependencies from vercel
name: rerender_dependencies
signature: 17eb5830956fb56486fd3cfc7431f5849d39751730c05ad9e77dd4f0c27169c5
source: /a0/tmp/skills_research/vercel/skills/react-best-practices/rules/rerender-dependencies.md

title: Narrow Effect Dependencies impact: LOW impactDescription: minimizes effect re-runs tags: rerender, useEffect, dependencies, optimization

Narrow Effect Dependencies

Specify primitive dependencies instead of objects to minimize effect re-runs.

Incorrect (re-runs on any user field change):

tsx
useEffect(() => {
  console.log(user.id)
}, [user])

Correct (re-runs only when id changes):

tsx
useEffect(() => {
  console.log(user.id)
}, [user.id])

For derived state, compute outside effect:

tsx
// Incorrect: runs on width=767, 766, 765...
useEffect(() => {
  if (width < 768) {
    enableMobileMode()
  }
}, [width])

// Correct: runs only on boolean transition
const isMobile = width < 768
useEffect(() => {
  if (isMobile) {
    enableMobileMode()
  }
}, [isMobile])