広告が嫌いですか? 行く 広告なし 今日

SVGをReact JSXコンポーネントに変換

開発者文章
大文字で始まる必要があります。React コンポーネント名として使用されます。

ガイド

SVG to React JSX Component Converter

SVGをReact JSXコンポーネントに変換

raw SVG マークアップを貼り付け、クリーンなReact関数コンポーネントを返します。このツールはすべての属性に対して決定論的なcamelCase変換を適用し、非JSX構文を削除し、出力の一部を読み取り可能なコンポーネントにラップします——オプションで型付け、オプションで forwardRef-ラップされ、オプションでプロパティでサイズを調整できます。すべてがブラウザ内で実行されるため、アイコンやロゴはあなたのマシンに残ります。

使用方法

  1. 完全な <svg>…</svg> マーカーを入力ボックスに貼り付けます。
  2. コンポーネント名を設定(PascalCase、例 ArrowRightIcon).
  3. TypeScriptを切り替えます forwardRef、スケーラブルなサイズプロパティ、およびプロパティのスプレッドをプロジェクトに合わせて設定します。
  4. 生成されたJSXをコピーするか、または .tsx / .jsx ファイル。

機能

  • camelCase属性stroke-width になります strokeWidth, fill-rule になります fillRule、そしてSVG仕様のすべてにわたって適用されます。
  • 予約語の処理classclassName, forhtmlForと、 xlink:hrefxlinkHref.
  • インラインスタイルパーサーstyle="color: red; font-size: 12px" はcamelCaseキーを持つJSXスタイルオブジェクトに変換されます。
  • TypeScript出力 – 型定義を有効にすると生成します。 React.SVGProps<SVGSVGElement> スケーラブルアイコンモード
  • – 幅/高さのハードコードされた値を プロパティに置き換え、意味のあるデフォルト値を提供します。 widthheight forwardRefラッパー
  • – デベロッパーツールにアクセスできる コンポーネントを発行します。 React.forwardRef for DevTools。 displayName プロパティスプレッド
  • – ルートに任意のプロパティを転送 消費者が <svg> 、ARIA、またはイベントハンドラを設定できるようにします。 className、ARIA、またはイベントハンドラ。
  • オフライン設計 – SVGはブラウザに留まります。アップロードやサーバーとの通信はありません。

よくある質問

  1. ReactとJSXがSVG属性名をどう変更するのか?

    JSXは直接JavaScriptオブジェクトプロパティアクセスにコンパイルされ、JavaScript識別子にはハイフンが含まれません。ReactはDOM IDLに合わせてcamelCaseプロパティ名を標準化しており、たとえば stroke-width になります strokeWidth はDOMが element.strokeWidthとして公開されているためです。一部の属性(class, for)はJavaScriptの予約語と衝突し、名前を(className, htmlFor)に変更してパーサーとの衝突を回避します。

  2. React.forwardRef がSVGコンポーネントに何を提供するのか?

    デフォルトでは、関数コンポーネントは親から ref を受け取ることができません——Reactはそれを無視します。 React.forwardRef 親に下位DOMノードを暴露し、フォーカス管理、測定、またはFramer MotionやGSAPなどのアニメーションライブラリとの統合に直接アクセスする必要がある場合に不可欠です。 <svg> SVGをインライン画像として埋め込むべきでない理由は?

  3. SVGをJSXとして埋め込むことで、DOMツリーに対する完全な制御が得られます:ストロークやフィルをCSS変数でテーマ化できます、個々のパスをアニメーションできます、実行時で色を切り替えたり、ビルド時に使用しないアイコンをtree-shakeできます。一方、

    はオパケなレターリクス要素として動作し、ホストページからその内部をスタイル設定できません。 <img src="icon.svg"> 幅と高さをプロパティとして保持する理由は?

  4. ハードコードされたピクセルサイズはアイコンを1つのサイズに固定し、レイアウト内で組み合わせる際に不都合です。幅

    をプロパティとして公開(元の widthheight )を伴う場合、同じコンポーネントをツールバーで16px、ヘッダーで48pxなどにレンダリングできるようになり、SVGのベクタースケーリングがすべてのサイズでクリアな品質を維持します。 viewBoxは2026年4月30日に追加されました

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って