rendering-hoist-jsx

📁 theorcdev/8bitcn-ui 📅 Jan 23, 2026
17
总安装量
12
周安装量
#19976
全站排名
安装命令
npx skills add https://github.com/theorcdev/8bitcn-ui --skill rendering-hoist-jsx

Agent 安装分布

claude-code 9
opencode 8
codex 8
windsurf 8
gemini-cli 7
antigravity 7

Skill 文档

Hoist Static JSX Elements

Extract static JSX outside components to avoid re-creation.

Incorrect (recreates element every render):

function LoadingSkeleton() {
  return <div className="animate-pulse h-20 bg-gray-200" />
}

function Container() {
  return (
    <div>
      {loading && <LoadingSkeleton />}
    </div>
  )
}

Correct (reuses same element):

const loadingSkeleton = (
  <div className="animate-pulse h-20 bg-gray-200" />
)

function Container() {
  return (
    <div>
      {loading && loadingSkeleton}
    </div>
  )
}

This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render.

Note: If your project has React Compiler enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.