開発者ツール / 26

SVGからReact JSX / TSXへのコンバーター

SVGのマークアップを、クリーンでコンポーネント化されたReact JSXまたはTypeScript TSXコードに変換します。

SVGからReact JSX / TSXへのコンバーター: TOEAはSVGのkebab-case属性をReactのcamelCaseに変換し、インラインスタイルをJSオブジェクトに変換し、SVG要素をラップします。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます

アイコンをテキストのように扱う

アイコンコンポーネントは、配置された場所から色とサイズを受け取るようにすると再利用しやすくなります。ハードコードされたfillまたはstrokeの色をcurrentColorに置き換えると、アイコンが周囲のテキスト色に追従します。viewBoxは残したままwidthとheightを削除し、CSSまたはclassNameでサイズを設定してください。先にSVGクリーナーでファイルを処理すると、最終的なバンドルに入り込むエディターのメタデータを除去できます。

ID、スタイル、アクセシビリティ

グラデーション、マスク、クリップパスはidで参照されます。同じコンポーネントを2回描画すると、ページ内に重複したIDが生じ、2つ目のコピーが1つ目のグラデーションを参照する可能性があります。これらを使うアイコンでは、ReactのuseIdで一意のIDを生成してください。

SVG内の<style>要素は、波かっこが式として解釈されるためJSXを壊します。ルールを属性またはスタイルシートに移してください。装飾用のアイコンにはaria-hidden="true"を、意味を持つアイコンにはrole="img"と<title>を追加します。

使い方

  1. 生のSVGマークアップを貼り付けます。
  2. コンポーネント名、TypeScriptのインターフェース、props転送を設定します。
  3. すぐ使えるReactコンポーネントのコードをコピーします。

プライバシーと制限事項

マークアップの変換はクライアント側のJavaScript内だけで実行されます。

関連ツール

よくある質問

TypeScriptに対応していますか?

はい、完全に型付けされたReact.FC<React.SVGProps<SVGSVGElement>>コンポーネントを生成します。

無料ツール · ブラウザ内で · アカウント不要