rendering-hoist-jsx について
静的な JSX 要素をコンポーネントの外に移し、レンダーごとの再生成を避ける React コーディングスキルです。React Compiler が有効なら自動で最適化されるため、手動での移動は不要と説明しています。
主な機能
- 01静的 JSX をコンポーネント外へ移動
- 02レンダー間で要素を再利用
- 03大きな静的 SVG ノードを最適化
- 04React Compiler の最適化を考慮
活用シーン
- 01ローディングスケルトンの再生成を回避
- 02静的 SVG をレンダー間で再利用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ theorcdev/ 8bitcn-ui --skill rendering-hoist-jsxインストール後、Claude Code で/rendering-hoist-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 Compiler が有効になっている場合、コンパイラーが静的な JSX 要素を自動的にホイストし、コンポーネントの再レンダーを最適化するため、手動でのホイストは不要です。
コメント
Markdown 対応