@samitouri / QOS-React-2 / commits / ae38ea9275

Translate ref-01-top-level-api.md to Japanese

Kohei TAKATA committed Aug 14, 2015 at 19:16 UTC ae38ea9275ebd4f395543b4d1606489fd3f37683
1 file changed +172
docs/docs/ref-01-top-level-api.ja-JP.md new
+172
@@ -0,0 +1,172 @@
1 +---
2 +id: top-level-api-ja-JP
3 +title: Top-Level API
4 +permalink: top-level-api-ja-JP.html
5 +next: component-api-ja-JP.html
6 +redirect_from: "/docs/reference-ja-JP.html"
7 +---
8 +
9 +## React
10 +
11 +`React` はReactのライブラリに対するエントリーポイントです。事前にビルドされたパッケージを使用する場合は、グローバルで使用可能です。CommonJSのモジュールを使用する場合は、 `require()` できます。
12 +
13 +
14 +### React.Component
15 +
16 +```javascript
17 +class Component
18 +```
19 +
20 +これは、ES6のクラスを使用して定義されている場合の、Reactコンポーネントに対する基底クラスです。ReactでES6のクラスを使用する方法については、[再利用可能なコンポーネント](/react/docs/reusable-components-ja-JP.html#es6-classes)をご覧ください。基底クラスからどのメソッドが実際に提供されるかについては、[コンポーネントAPI](/react/docs/component-api-ja-JP.html)をご覧ください。
21 +
22 +### React.createClass
23 +
24 +```javascript
25 +ReactClass createClass(object specification)
26 +```
27 +
28 +与えられた仕様に基づいてコンポーネントクラスを作成します。コンポーネントは **ある単一の** 子要素を返す `render` メソッドを実行します。その子要素は勝手に深い子要素の構造を保持しています。コンポーネントが標準的なプロトタイプのクラスと異なっている部分は、newを呼ぶ必要がないということです。それらは内部で(newを行う)インスタンスを構築する便利なラッパーです。
29 +
30 +specificationオブジェクトについての情報は、[コンポーネントのスペックとライフサイクル](/react/docs/component-specs-ja-JP.html)をご覧ください。
31 +
32 +### React.createElement
33 +
34 +```javascript
35 +ReactElement createElement(
36 + string/ReactClass type,
37 + [object props],
38 + [children ...]
39 +)
40 +```
41 +
42 +与えられた型の `ReactElement` を作成し、返します。type引数はhtmlタグ名(例えば、'div'、'span'など)の文字列にも`ReactClass`(`React.createClass` によって作成される)にもなり得ます。
43 +
44 +### React.cloneElement
45 +
46 +```
47 +ReactElement cloneElement(
48 + ReactElement element,
49 + [object props],
50 + [children ...]
51 +)
52 +```
53 +
54 +`element` をスターティングポイントとして使用する新しい `ReactElement` をクローンして返します。
55 +結果として生まれる要素はオリジナルの要素のpropsと新しいpropsを暗にマージしたものを保持しています。新しい子要素は現存する子要素を置き換えます。 `React.addons.cloneWithProps` と異なり、オリジナルの要素から得られた `key` と `ref` は保存されます。(`cloneWithProps` とは異なり)propsをマージする際に特別な動きは行いません。詳細については、[v0.13 RC2 blog記事](/react/blog/2015/03/03/react-v0.13-rc2.html)をご覧ください。
56 +
57 +### React.createFactory
58 +
59 +```javascript
60 +factoryFunction createFactory(
61 + string/ReactClass type
62 +)
63 +```
64 +
65 +与えられた型のReactElementsを生成する関数を返します。 `React.createElement` と同様に、type引数はhtmlタグ名(例えば、'div'、'span'など)の文字列にも`ReactClass` にもなり得ます。
66 +
67 +### React.render
68 +
69 +```javascript
70 +ReactComponent render(
71 + ReactElement element,
72 + DOMElement container,
73 + [function callback]
74 +)
75 +```
76 +
77 +与えられた `container` によってReactElementをDOMにレンダリングし、コンポーネントへの参照を返します。
78 +
79 +もしReactElementが事前に `container` にレンダリングされていた場合は、更新を行い、DOMが最新のReactのコンポーネントを表すように変化させます。
80 +
81 +オプションのコールバックが与えられた場合は、コンポーネントがレンダリングされたり、更新された後に実行されます。
82 +
83 +> 注意:
84 +> `React.render()` は渡されたコンテナーノードの内容を制御します。内部に存在するDOM要素は最初に呼ばれた際に置き換えられます。その後に呼ばれた場合は、ReactのDOMの差分アルゴリズムを使用して、効率的に更新されます。
85 +>
86 +> `React.render()` はコンテナーノードの変更は行いません(コンテナの子要素のみ変更を行います)。今後、存在する子要素を上書きすることなく、存在するDOMノードにコンポーネントを挿入することが可能になるでしょう。
87 +
88 +### React.unmountComponentAtNode
89 +
90 +```javascript
91 +boolean unmountComponentAtNode(DOMElement container)
92 +```
93 +
94 +マウントされたReactのコンポーネントをDOMから削除し、そのイベントハンドラとstateをクリーンアップします。コンテナにコンポーネントがマウントされていない場合は、この関数を呼んでも何も行われません。コンポーネントがアンマウントされた場合は `true` を返し、アンマウントするコンポーネントが存在しない場合は `false` を返します。
95 +
96 +### React.renderToString
97 +
98 +```javascript
99 +string renderToString(ReactElement element)
100 +```
101 +
102 +ReactElementを最初にHTMLにレンダリングします。これはサーバでのみ使用されるべきです。ReactはHTML文字列を返します。このメソッドを、サーバでHTMLを生成し、最初のリクエストに対してマークアップを送るのに使用することができます。そうすることで、ページロードが速くなり、サーチエンジンはSEOの目的でページをクロールします。
103 +
104 +既にサーバでレンダリングされたマークアップを保持しているノードで `React.render()` を呼んだ場合は、Reactはそれを保護し、イベントハンドラを加えます。そうすることで、最初のローディングのパフォーマンスがとても良くなります。
105 +
106 +### React.renderToStaticMarkup
107 +
108 +```javascript
109 +string renderToStaticMarkup(ReactElement element)
110 +```
111 +
112 +`renderToString` に似ていますが、Reactが内部で使用する `data-react-id` のような外部のDOM属性を作成しません。Reactを、単純な静的なページを生成するために使用したい場合は有用です。外部の属性を取り除くことでメモリを節約することができます。
113 +
114 +### React.isValidElement
115 +
116 +```javascript
117 +boolean isValidElement(* object)
118 +```
119 +
120 +オブジェクトがReactElementであるかどうか調査します。
121 +
122 +### React.findDOMNode
123 +
124 +```javascript
125 +DOMElement findDOMNode(ReactComponent component)
126 +```
127 +
128 +このコンポーネントがDOMにマウントされた場合は、対応するネイティブブラウザのDOM要素を返します。このメソッドはDOMの外の値を読み込む場合に有用です。例えば、formフィールドの値やDOMの測定を行う場合があります。 `render` が `null` や `false` を返した場合は、 `findDOMNode` は `null` を返します。
129 +
130 +### React.DOM
131 +
132 +`React.DOM` はDOMコンポーネントのための `React.createElement` の周りの便利なラッパーを提供します。JSXを使用しない場合にのみ使用すべきです。例えば、 `React.DOM.div(null, 'Hello World!')` のように。
133 +
134 +### React.PropTypes
135 +
136 +`React.PropTypes` はコンポーネントに与えられたpropsをバリデーションするためにコンポーネントの `propTypes` と使用できる型を含んでいます。 `propTypes` についての更なる情報は、[再利用可能なコンポーネント](/react/docs/reusable-components-ja-JP.html)をご覧ください。
137 +
138 +### React.Children
139 +
140 +`React.Children` は `this.props.children` の不透明なデータ構造を扱うユーティリティを提供します。
141 +
142 +#### React.Children.map
143 +
144 +```javascript
145 +object React.Children.map(object children, function fn [, object thisArg])
146 +```
147 +
148 +全ての `children` を含む子要素に対して、 `fn` を実行します。 `this` は `thisArg` にセットされます。 `children` がネストしたオブジェクトや配列だった場合は、実行されません。 `fn` はコンテナのオブジェクトから渡されません。子要素が `null` か `undefined` だった場合は、空のオブジェクトではなく `null` か `undefined` を返します。
149 +
150 +#### React.Children.forEach
151 +
152 +```javascript
153 +React.Children.forEach(object children, function fn [, object thisArg])
154 +```
155 +
156 +`React.Children.map()` に似ていますが、オブジェクトを返しはしません。
157 +
158 +#### React.Children.count
159 +
160 +```javascript
161 +number React.Children.count(object children)
162 +```
163 +
164 +`children` の中のコンポーネントの合計数を返します。 `map` や `forEach` に渡されるコールバックが実行される数と等しくなります。
165 +
166 +#### React.Children.only
167 +
168 +```javascript
169 +object React.Children.only(object children)
170 +```
171 +
172 +`children` の単一の子要素を返します。それ以外の場合は例外をスローします。