Skip to content

Commit ac69e0e

Browse files
authored
Merge pull request #12 from kn3ny/dom-elements-ja
Translate dom-elements
2 parents 83bc3bb + 72a1139 commit ac69e0e

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

content/docs/reference-dom-elements.md

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dom-elements
3-
title: DOM Elements
3+
title: DOM 要素
44
layout: docs
55
category: Reference
66
permalink: docs/dom-elements.html
@@ -14,27 +14,27 @@ redirect_from:
1414
- "tips/dangerously-set-inner-html.html"
1515
---
1616

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 実装にあるいくつかの粗削りな部分が取り払われました。
1818

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`.
19+
React では、DOM のプロパティと属性(イベントハンドラを含む)全てがキャメルケースで名前付けされる必要があります。例えば、HTML 属性 `tabindex` に React で対応する属性は `tabIndex` です。例外は `aria-*` `data-*` 属性であり、これらは全て小文字に揃える必要があります。例えば、`aria-label` `aria-label` のままにできます。
2020

21-
## Differences In Attributes
21+
## 属性についての差異
2222

23-
There are a number of attributes that work differently between React and HTML:
23+
React HTML で挙動が異なる属性がいくつか存在します。
2424

2525
### checked
2626

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.
27+
`checked` 属性はインプットタイプが `checkbox` または `radio``<input>` コンポーネントでサポートされています。コンポーネントがチェックされた状態かどうかの設定に、この属性を使うことができます。これは制御されたコンポーネント (controlled component) を構築する際に役立ちます。`defaultChecked` は非制御コンポーネント (uncontrolled component) において同様の働きをする属性で、そのコンポーネントが最初にマウントされた時に、チェックされた状態かどうかを設定します。
2828

2929
### className
3030

31-
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 要素に当てはまります。
3232

33-
If you use React with Web Components (which is uncommon), use the `class` attribute instead.
33+
React を(一般的ではありませんが)Web Components とともに使用する場合は、代わりに class 属性を使用してください。
3434

3535
### dangerouslySetInnerHTML
3636

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` というキーを持つオブジェクトを渡す必要があります。例えば:
3838

3939
```js
4040
function createMarkup() {
@@ -48,23 +48,23 @@ function MyComponent() {
4848

4949
### htmlFor
5050

51-
Since `for` is a reserved word in JavaScript, React elements use `htmlFor` instead.
51+
`for` JavaScript での予約語であるため、React 要素では代わりに `htmlFor` を使用します。
5252

5353
### onChange
5454

55-
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.
55+
`onChange` イベントはあなたが期待しているような挙動をします。フォームフィールドに変更があるたび、このイベントが発生します。React の `onChange` という名前は既存のブラウザの挙動に対しては適切な名前では無く、React はリアルタイムでのユーザ入力を扱うためにこのイベントに依存しているため、React では意図的に既存のブラウザの挙動は使用していません。
5656

5757
### selected
5858

59-
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.
59+
`selected` 属性が `<option>` コンポーネントでサポートされています。この属性でコンポーネントが選択されているかを設定することができます。制御されたコンポーネントを構築する際に役立ちます。
6060

6161
### style
6262

63-
>Note
63+
>補足
6464
>
65-
>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).
65+
>このドキュメンテーションにあるいくつかの例では `style` を便宜上使用していますが、**`style` 属性を要素のスタイリングの主要な手段として使うことは一般的に推奨されません。** 多くの場合、[`className`](#classname) を使って外部の CSS スタイルシートに定義された CSS クラスを参照するべきです。React アプリケーションの中では、`style` は動的に計算されたスタイルをレンダー中に追加するために最もよく使われます。[FAQ: Styling and CSS](/docs/faq-styling.html) も参照してください。
6666
67-
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:
67+
`style` 属性は CSS 文字列ではなく、キャメルケースのプロパティを持った JavaScript オブジェクトを受け取ります。これは JavaScript での DOM `style` プロパティとの一貫性があり、より効率的で、XSS 攻撃の対象となるセキュリティホールを防ぎます。例えば:
6868

6969
```js
7070
const divStyle = {
@@ -77,66 +77,66 @@ function HelloWorldComponent() {
7777
}
7878
```
7979

80-
Note that styles are not autoprefixed. To support older browsers, you need to supply corresponding style properties:
80+
ベンダープレフィックスの自動追加は行われないことに注意してください。古いブラウザをサポートするには、対応するスタイルのプロパティを与える必要があります:
8181

8282
```js
8383
const divStyle = {
84-
WebkitTransition: 'all', // note the capital 'W' here
85-
msTransition: 'all' // 'ms' is the only lowercase vendor prefix
84+
WebkitTransition: 'all', // ここでは大文字の 'W' です
85+
msTransition: 'all' // 'ms' は小文字である必要がある唯一のベンダープレフィックスです
8686
};
8787

8888
function ComponentWithTransition() {
8989
return <div style={divStyle}>This should work cross-browser</div>;
9090
}
9191
```
9292

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" があるのはこのためです。
9494

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:
95+
React はインラインスタイルでの特定の数値プロパティに対して自動的に "px" サフィックスを付け加えます。"px" 以外の単位を使用したい場合は、その単位を付け加えた文字列で値を指定してください。例えば:
9696

9797
```js
98-
// Result style: '10px'
98+
// 最終的なスタイルは '10px'
9999
<div style={{ height: 10 }}>
100100
Hello World!
101101
</div>
102102

103-
// Result style: '10%'
103+
// 最終的なスタイルは '10%'
104104
<div style={{ height: '10%' }}>
105105
Hello World!
106106
</div>
107107
```
108108

109-
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).
109+
全てのスタイルプロパティがピクセル指定に変換されるわけではありません。特定のプロパティ(例えば `zoom``order``flex`)は単位が無いままとなります。単位の無いプロパティの完全なリストは[こちら](https://github.com/facebook/react/blob/4131af3e4bf52f3a003537ec95a1655147c81270/src/renderers/dom/shared/CSSProperty.js#L15-L59)で確認できます。
110110

111111
### suppressContentEditableWarning
112112

113-
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.
113+
子要素を持つ要素に `contentEditable` 属性が付与されている場合、それは動作しないため通常は警告が出力されます。この属性は、その警告が出力されないようにします。`contentEditable` を自身で管理している [Draft.js](https://facebook.github.io/draft-js/) のようなライブラリを開発するときでもない限り、この属性は使用しないでください。
114114

115115
### suppressHydrationWarning
116116

117-
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.
117+
サーバサイドの React レンダリングを使用している場合、サーバとクライアントが違う内容をレンダーする時に通常は警告が出力されます。しかし、まれに両者の内容が完全に一致することの保証が非常に困難あるいは不可能な場合があります。例えば、サーバとクライアントでは、タイムスタンプは異なることが予想されます。
118118

119-
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).
119+
`suppressHydrationWarning` `true` に設定した場合、その要素の属性と内容の、サーバとクライアントでの差異について React は警告しません。この機能は単一レベルの深さでのみ動作し、避難ハッチとして使われることが想定されています。そのため、むやみに使用しないでください。この "hydration" 機能の詳細については [`ReactDOM.hydrate()` のドキュメンテーション](/docs/react-dom.html#hydrate)で読むことができます。
120120

121121
### value
122122

123-
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.
123+
`value` 属性は `<input>` コンポーネントと `<textarea>` コンポーネントでサポートされています。コンポーネントの値を設定することに使用できます。これは制御されたコンポーネントを構築する際に役立ちます。`defaultValue` は非制御コンポーネントにおいて同様の働きをする属性で、コンポーネントが最初にマウントされた時の値を設定します。
124124

125-
## All Supported HTML Attributes
125+
## サポートされている全ての HTML 属性
126126

127-
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 属性全てが完全にサポートされます。
128128

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`) の命名規則を属性の名前付けに使用します。
130130

131131
```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 と同様に
135135
```
136136

137-
These props work similarly to the corresponding HTML attributes, with the exception of the special cases documented above.
137+
このような props は、これまでドキュメントで述べられてきた特殊な例外を除き、対応する HTML 属性と同様に機能します。
138138

139-
Some of the DOM attributes supported by React include:
139+
React でサポートされている DOM 属性には、以下が含まれます:
140140

141141
```
142142
accept acceptCharset accessKey action allowFullScreen alt async autoComplete
@@ -154,7 +154,7 @@ sizes span spellCheck src srcDoc srcLang srcSet start step style summary
154154
tabIndex target title type useMap value width wmode wrap
155155
```
156156

157-
Similarly, all SVG attributes are fully supported:
157+
同様に、全ての SVG 属性を完全にサポートしています:
158158

159159
```
160160
accentHeight accumulate additive alignmentBaseline allowReorder alphabetic
@@ -193,4 +193,4 @@ xlinkHref xlinkRole xlinkShow xlinkTitle xlinkType xmlns xmlnsXlink xmlBase
193193
xmlLang xmlSpace y y1 y2 yChannelSelector z zoomAndPan
194194
```
195195

196-
You may also use custom attributes as long as they're fully lowercase.
196+
独自の属性も、その名前が全て小文字であれば使用できます。

0 commit comments

Comments
 (0)