mcpField
R
rendering-hoist-jsx

rendering-hoist-jsx

github.com/theorcdev開発2.1k38 回インストール2 日前に更新
リポジトリ

rendering-hoist-jsx について

静的な JSX 要素をコンポーネントの外に移し、レンダーごとの再生成を避ける React コーディングスキルです。React Compiler が有効なら自動で最適化されるため、手動での移動は不要と説明しています。

主な機能

  1. 01静的 JSX をコンポーネント外へ移動
  2. 02レンダー間で要素を再利用
  3. 03大きな静的 SVG ノードを最適化
  4. 04React Compiler の最適化を考慮

活用シーン

  1. 01ローディングスケルトンの再生成を回避
  2. 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 要素を自動的にホイストし、コンポーネントの再レンダーを最適化するため、手動でのホイストは不要です。

コメント