HTML→JSX変換ツール

HTML→JSX変換ツール:無料、ブラウザー内で動作 | We.Inc

HTMLを貼り付けると正しいJSXが得られます。classはclassNameに、forはhtmlForに、style文字列はオブジェクトに変わり、空要素タグの閉じ、コメント、イベント、コンポーネントでの包み込みにも対応します。アップロードは一切ありません。

HTML→JSX変換ツール

左側にHTMLを貼り付けると、入力に合わせて右側にJSXが書き出されます。classはclassNameに、forはhtmlForになり、インラインスタイルはキャメルケースのオブジェクトに変わります。imgやinputのような空要素タグは自己終了タグになり、コメントは波かっこの中へ移され、最上位に複数の要素があればフラグメントで包まれます。変換はすべてブラウザー内だけで行われます。

HTMLとJSXで変わる点

テンプレートやメールビルダー、アイコンセットから持ってきたコード片をReactコンポーネントに貼り付けると、たいてい十数か所の細かな違いで壊れてしまいます。このツールはReactが公式に説明しているJSXのルールを適用し、変更した箇所を一つずつ説明し、結果をそのまま貼り付けられる名前付きコンポーネントで包むこともできます。

よくある質問

Reactがclassではなく、classNameを使うのはなぜですか?

JSXはJavaScriptにコンパイルされ、JavaScriptではclassが予約語です。そのためReactではこのプロパティをclassNameと呼びます。同じ理由で、ラベルのfor属性はhtmlForになります。

data-やaria-の属性はJSXで変わりますか?

変わりません。Reactのドキュメントにあるとおり、歴史的な理由からaria-*とdata-*の属性はHTMLとまったく同じく、ハイフン付きで書きます。それ以外の複数語からなる属性の多くはキャメルケースになります。

JSXでインラインスタイルはどう書けばいいですか?

キャメルケースのプロパティ名を持つオブジェクトをstyleに渡します。例:style={{ fontWeight: 'bold', marginTop: 8 }}。ほとんどのプロパティでは、単なる数値にReactがpxを付けます。外側の波かっこはJavaScriptの式を開き、内側の波かっこがオブジェクトです。

ルート要素が複数あるというエラーが出るのはなぜですか?

コンポーネントが返せる要素は1つだけです。兄弟要素を親要素か、<>と</>で書く空のフラグメントで包みましょう。HTMLの最上位に複数のノードがある場合、変換ツールがこれを自動で行います。

HTMLはどこかに送信されますか?

いいえ。変換はこのページ内で動く素のJavaScriptで行われます。貼り付けた内容がアップロードされたり保存されたりすることはありません。

すべての変換を支える3つのルール

人の手が必要な部分

変換ツールが適用する属性名の変更

HTML属性からJSXのプロパティへ

変換ツール

下のサンプルはリアルタイムで変換されています。自分のHTMLに置き換えてください。

コンポーネント名(任意)

JSXをコピー

変更点

標準的な名前の変更だけで済みました。

<{tag}>の中身は、波かっこが文字どおりに残るようテンプレートリテラルで包みました。

無料で始める · クレジットカード不要

関連: 無料ツール|ビジネス向け計算・生成ツール

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る