ネイティブDOMとの相違点

Reactはパフォーマンスとクロスブラウザの互換性のために、ブラウザから独立したイベントとDOMシステムを実装しています。 我々はここで、ブラウザの幾つかの荒くてエッジの効いたDOM実装をクリーンアップする機会を得ています。

  • 全てのDOMプロパティと属性(イベントハンドラを含む)は、 JavaScriptの標準スタイルに統一されるためにキャメルケース化される必要があります。 我々はここで統一されていない仕様を故意に破棄しています。 ただしdata-*属性とaria-*属性は、 仕様に従い小文字(lower-cased)のみにするべきです。
  • style属性は、CSS文字列では無くキャメルケース化されたプロパティを持つJavaScriptオブジェクトを受け付けます。 これはDOMのstyleのJavaScriptプロパティと一致し、より効率的でXSSセキュリティ・ホールを防ぐ役割も果たします。
  • 全てのイベントオブジェクトはW3C仕様に従い、全てのイベント(submitを含む)はそれぞれW3C仕様に従った正しい伝搬をします。 詳細については、イベントシステムを参照して下さい。
  • onChangeイベントは期待どおりに振る舞います。 フォームのフィールドが変更されれば、一貫性の無いblurでは無く、このイベントが発火されます。(翻訳に自信なし) onChangeはその振る舞いに対して誤った呼称であり、 Reactはリアルタイムでユーザーの入力に反応するのにこのイベントに依存するため、 我々は既存のブラウザの挙動から故意にこれを破棄しています。(翻訳に自信なし) 詳細については、フォームを参照して下さい。
  • textareaだけでなく、valuecheckedの属性を持つフォームのinputがネイティブのものと異なる部分があります。(翻訳に自信なし) 詳細についてはフォームを確認して下さい。

 Back to top

© 2013-2017 Facebook Inc.
Documentation licensed under CC BY 4.0.

このページは、ページトップのリンク先のReact内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • ドキュメントの情報が古い可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。