静态JSX元素提升渲染优化Skill rendering-hoist-jsx

该技能用于在 React 前端开发中优化 JSX 渲染性能,通过提取静态 JSX 元素到组件外部,避免每次渲染时的重新创建,提高应用效率和响应速度,特别适用于大型静态 SVG 节点。关键词包括:React、JSX、渲染优化、静态元素、性能提升、前端开发、性能优化。

前端开发 0 次安装 0 次浏览 更新于 3/9/2026

name: rendering-hoist-jsx description: 提取静态 JSX 元素到组件外部以避免在每次渲染时重新创建。适用于重复渲染静态元素或在列表中。

提升静态 JSX 元素

提取静态 JSX 到组件外部以避免重新创建。

不正确(每次渲染重新创建元素):

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

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

正确(重用相同元素):

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

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

这对于大型和静态的 SVG 节点尤其有帮助,这些节点在每次渲染时重新创建可能会很昂贵。

注意: 如果您的项目启用了 React 编译器,编译器会自动提升静态 JSX 元素并优化组件重新渲染,使手动提升变得不必要。