diff --git a/docs/_data/nav_docs.yml b/docs/_data/nav_docs.yml index 64b95f2c89..2a121249bb 100644 --- a/docs/_data/nav_docs.yml +++ b/docs/_data/nav_docs.yml @@ -55,3 +55,5 @@ title: Event System - id: dom-differences title: DOM Differences + - id: special-non-dom-attributes + title: Special Non-DOM attributes diff --git a/docs/docs/ref-04-tags-and-attributes.md b/docs/docs/ref-04-tags-and-attributes.md index d3f28843f7..5e4aea4eda 100644 --- a/docs/docs/ref-04-tags-and-attributes.md +++ b/docs/docs/ref-04-tags-and-attributes.md @@ -57,7 +57,9 @@ rowSpan scrollLeft scrollTop selected size spellCheck src step style tabIndex target title type value width wmode ``` -In addition, the non-standard `autoCapitalize` attribute is supported for Mobile Safari. +The non-standard `autoCapitalize` attribute is supported for Mobile Safari. + +In addition, there is the React-specific attribute `dangerouslySetInnerHTML` ([more here](/react/docs/special-non-dom-attributes.html)), used for directly inserting DOM strings into a component. ### SVG Attributes diff --git a/docs/docs/ref-06-dom-differences.md b/docs/docs/ref-06-dom-differences.md index 95469b5a03..e131f809e5 100644 --- a/docs/docs/ref-06-dom-differences.md +++ b/docs/docs/ref-06-dom-differences.md @@ -4,6 +4,7 @@ title: DOM Differences layout: docs permalink: dom-differences.html prev: events.html +next: special-non-dom-attributes.html --- React has implemented a browser-independent events and DOM system for performance and cross-browser compatibility reasons. We took the opportunity to clean up a few rough edges in browser DOM implementations. diff --git a/docs/docs/ref-07-special-non-dom-attributes.md b/docs/docs/ref-07-special-non-dom-attributes.md new file mode 100644 index 0000000000..c174deb030 --- /dev/null +++ b/docs/docs/ref-07-special-non-dom-attributes.md @@ -0,0 +1,13 @@ +--- +id: special-non-dom-attributes +title: Special Non-DOM Attributes +layout: docs +permalink: special-non-dom-attributes.html +prev: dom-differences.html +--- + +Beside [DOM differences](/react/docs/dom-differences.html), React offers some attributes that simply don't exist in DOM. + +- `key`: an optional, unique identifier. When your component shuffles around during `render` passes, it might be destroyed and recreated due to the diff algorithm. Assigning it a key that persists makes sure the component stays. See more [here](/react/docs/multiple-components.html#dynamic-children). +- `ref`: see [here](/react/docs/more-about-refs.html). +- `dangerouslySetInnerHTML`: takes an object with the key `__html` and a DOM string as value. This is mainly for cooperating with DOM string manipulation libraries. Refer to the last example on the front page.