---translation title: Hoist Static JSX Elements impact: LOW impactDescription: avoids re-creation tags: rendering, jsx, static, optimization ## 提升静态 JSX 元素 将静态 JSX 提取到组件外部,避免重复创建。 **错误做法(每次渲染都重新创建元素):** ```tsx function LoadingSkeleton() { return
} function Container() { return (
{loading && }
) } ``` **正确做法(复用同一元素):** ```tsx const loadingSkeleton = (
) function Container() { return (
{loading && loadingSkeleton}
) } ``` 这对于大型且静态的 SVG 节点尤其有用,因为每次渲染时重新创建它们的开销可能很大。 **注意:** 如果你的项目已启用 [React Compiler](https://react.dev/learn/react-compiler),编译器会自动提升静态 JSX 元素并优化组件重新渲染,使得手动提升变得不再必要。