You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/reference-dom-elements.md
+37-37Lines changed: 37 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
id: dom-elements
3
-
title: DOM Elements
3
+
title: DOM 要素
4
4
layout: docs
5
5
category: Reference
6
6
permalink: docs/dom-elements.html
@@ -14,27 +14,27 @@ redirect_from:
14
14
- "tips/dangerously-set-inner-html.html"
15
15
---
16
16
17
-
React implements a browser-independent DOM system for performance and cross-browser compatibility. We took the opportunity to clean up a few rough edges in browser DOM implementations.
17
+
React はパフォーマンスとブラウザ間での互換性のために、ブラウザから独立した DOM システムを実装しています。このことを機に、ブラウザの DOM 実装にあるいくつかの粗削りな部分が取り払われました。
18
18
19
-
In React, all DOM properties and attributes (including event handlers) should be camelCased. For example, the HTML attribute`tabindex`corresponds to the attribute `tabIndex`in React. The exception is `aria-*`and`data-*`attributes, which should be lowercased. For example, you can keep `aria-label`as`aria-label`.
There are a number of attributes that work differently between React and HTML:
23
+
React と HTML で挙動が異なる属性がいくつか存在します。
24
24
25
25
### checked
26
26
27
-
The `checked`attribute is supported by `<input>` components of type `checkbox` or `radio`. You can use it to set whether the component is checked. This is useful for building controlled components. `defaultChecked`is the uncontrolled equivalent, which sets whether the component is checked when it is first mounted.
To specify a CSS class, use the `className`attribute. This applies to all regular DOM and SVG elements like `<div>`, `<a>`, and others.
31
+
CSS クラスを指定するには、`className`属性を使用してください。このことは `<div>`、`<a>` など全ての標準 DOM 要素と SVG 要素に当てはまります。
32
32
33
-
If you use React with Web Components (which is uncommon), use the `class` attribute instead.
33
+
React を(一般的ではありませんが)Web Components とともに使用する場合は、代わりに class 属性を使用してください。
34
34
35
35
### dangerouslySetInnerHTML
36
36
37
-
`dangerouslySetInnerHTML`is React's replacement for using `innerHTML`in the browser DOM. In general, setting HTML from code is risky because it's easy to inadvertently expose your users to a [cross-site scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting) attack. So, you can set HTML directly from React, but you have to type out `dangerouslySetInnerHTML`and pass an object with a `__html`key, to remind yourself that it's dangerous. For example:
37
+
`dangerouslySetInnerHTML`は、ブラウザ DOM における `innerHTML`の React での代替です。一般に、コードから HTML を設定することは、誤ってあなたのユーザを[クロスサイトスクリプティング (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting)攻撃に晒してしまいやすいため、危険です。そのため、React では直接 HTML を設定することはできますが、それは危険であることを自覚するために `dangerouslySetInnerHTML`と入力し `__html`というキーを持つオブジェクトを渡す必要があります。例えば:
38
38
39
39
```js
40
40
functioncreateMarkup() {
@@ -48,23 +48,23 @@ function MyComponent() {
48
48
49
49
### htmlFor
50
50
51
-
Since `for`is a reserved word in JavaScript, React elements use `htmlFor`instead.
The `onChange`event behaves as you would expect it to: whenever a form field is changed, this event is fired. We intentionally do not use the existing browser behavior because `onChange`is a misnomer for its behavior and React relies on this event to handle user input in real time.
The `selected`attribute is supported by `<option>`components. You can use it to set whether the component is selected. This is useful for building controlled components.
>Some examples in the documentation use `style`for convenience, but **using the `style`attribute as the primary means of styling elements is generally not recommended.**In most cases, [`className`](#classname)should be used to reference classes defined in an external CSS stylesheet. `style`is most often used in React applications to add dynamically-computed styles at render time. See also [FAQ: Styling and CSS](/docs/faq-styling.html).
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. For example:
return<div style={divStyle}>This should work cross-browser</div>;
90
90
}
91
91
```
92
92
93
-
Style keys are camelCased in order to be consistent with accessing the properties on DOM nodes from JS (e.g. `node.style.backgroundImage`). Vendor prefixes [other than `ms`](http://www.andismith.com/blog/2012/02/modernizr-prefixed/) should begin with a capital letter. This is why `WebkitTransition`has an uppercase "W".
93
+
JavaScript から DOM ノードのプロパティにアクセスする場合(例えば `node.style.backgroundImage`)と一致させるために、スタイルのキー名はキャメルケースです。[`ms` 以外](http://www.andismith.com/blog/2012/02/modernizr-prefixed/)のベンダープレフィックスは先頭を大文字にしてください。`WebkitTransition`に大文字 "W" があるのはこのためです。
94
94
95
-
React will automatically append a "px" suffix to certain numeric inline style properties. If you want to use units other than "px", specify the value as a string with the desired unit. For example:
Not all style properties are converted to pixel strings though. Certain ones remain unitless (eg `zoom`, `order`, `flex`). A complete list of unitless properties can be seen [here](https://github.com/facebook/react/blob/4131af3e4bf52f3a003537ec95a1655147c81270/src/renderers/dom/shared/CSSProperty.js#L15-L59).
Normally, there is a warning when an element with children is also marked as `contentEditable`, because it won't work. This attribute suppresses that warning. Don't use this unless you are building a library like [Draft.js](https://facebook.github.io/draft-js/)that manages `contentEditable` manually.
If you use server-side React rendering, normally there is a warning when the server and the client render different content. However, in some rare cases, it is very hard or impossible to guarantee an exact match. For example, timestamps are expected to differ on the server and on the client.
If you set `suppressHydrationWarning`to`true`, React will not warn you about mismatches in the attributes and the content of that element. It only works one level deep, and is intended to be used as an escape hatch. Don't overuse it. You can read more about hydration in the [`ReactDOM.hydrate()`documentation](/docs/react-dom.html#hydrate).
The `value`attribute is supported by `<input>`and`<textarea>`components. You can use it to set the value of the component. This is useful for building controlled components. `defaultValue`is the uncontrolled equivalent, which sets the value of the component when it is first mounted.
As of React 16, any standard [or custom](/blog/2017/09/08/dom-attributes-in-react-16.html) DOM attributes are fully supported.
127
+
React 16 では、標準[あるいは独自の](/blog/2017/09/08/dom-attributes-in-react-16.html) DOM 属性全てが完全にサポートされます。
128
128
129
-
React has always provided a JavaScript-centric API to the DOM. Since React components often take both custom and DOM-related props, React uses the `camelCase` convention just like the DOM APIs:
129
+
React は DOM に対して JavaScript 中心に設計された API を常に提供してきました。React コンポーネントは、独自および DOM に関連した props を頻繁に受け取るため、Reactは DOM API と同様にキャメルケース (`camelCase`) の命名規則を属性の名前付けに使用します。
130
130
131
131
```js
132
-
<div tabIndex="-1"/>//Just like node.tabIndex DOM API
133
-
<div className="Button"/>//Just like node.className DOM API
134
-
<input readOnly={true} />//Just like node.readOnly DOM API
132
+
<div tabIndex="-1"/>//DOM API の node.tabIndex と同様に
133
+
<div className="Button"/>//DOM API の node.className と同様に
134
+
<input readOnly={true} />//DOM API の node.readOnly と同様に
135
135
```
136
136
137
-
These props work similarly to the corresponding HTML attributes, with the exception of the special cases documented above.
137
+
このような props は、これまでドキュメントで述べられてきた特殊な例外を除き、対応する HTML 属性と同様に機能します。
138
138
139
-
Some of the DOM attributes supported by React include:
139
+
React でサポートされている DOM 属性には、以下が含まれます:
140
140
141
141
```
142
142
accept acceptCharset accessKey action allowFullScreen alt async autoComplete
0 commit comments