@samitouri / QOS-React-2 / commits / 0130a04f05

added nuance about identifiers used in custom elements

Kevin Lau committed Dec 9, 2015 at 00:33 UTC 0130a04f05961e9d8fe983e05a470601e5770054
1 file changed +1 -1
docs/docs/ref-06-dom-differences.md
+1 -1
@@ -10,7 +10,7 @@ React has implemented a browser-independent events and DOM system for performanc
10
11 * All DOM properties and attributes (including event handlers) should be camelCased to be consistent with standard JavaScript style. We intentionally break with the spec here since the spec is inconsistent. **However**, `data-*` and `aria-*` attributes [conform to the specs](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#data-*) and should be lower-cased only.
12 * The `style` attribute accepts a JavaScript object with camelCased properties rather than a CSS string. This is consistent with the DOM `style` JavaScript property, is more efficient, and prevents XSS security holes.
13 -* Since JSX is JavaScript, identifiers such as `class` and `for` are discouraged as XML attribute names. Instead, JSX (React DOM) components expect DOM property names like `className` and `htmlFor`, respectively.
13 +* Since JSX is JavaScript, identifiers such as `class` and `for` are discouraged as XML attribute names. Instead, JSX (React DOM) components expect DOM property names like `className` and `htmlFor`, respectively. However, note that [custom elements](http://www.html5rocks.com/en/tutorials/webcomponents/customelements/) must use `class` and `for` directly. For example: `<my-tag class="foo" />`.
14 * All event objects conform to the W3C spec, and all events (including submit) bubble correctly per the W3C spec. See [Event System](/react/docs/events.html) for more details.
15 * The `onChange` event behaves as you would expect it to: whenever a form field is changed this event is fired rather than inconsistently on blur. We intentionally break from existing browser behavior because `onChange` is a misnomer for its behavior and React relies on this event to react to user input in real time. See [Forms](/react/docs/forms.html) for more details.
16 * Form input attributes such as `value` and `checked`, as well as `textarea`. [More here](/react/docs/forms.html).