Files
react.dev/docs/ref-01-top-level-api.ja-JP.md
2015-08-14 19:16:59 +09:00

173 lines
8.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: top-level-api-ja-JP
title: Top-Level API
permalink: top-level-api-ja-JP.html
next: component-api-ja-JP.html
redirect_from: "/docs/reference-ja-JP.html"
---
## React
`React` はReactのライブラリに対するエントリーポイントです。事前にビルドされたパッケージを使用する場合は、グローバルで使用可能です。CommonJSのモジュールを使用する場合は、 `require()` できます。
### React.Component
```javascript
class Component
```
これは、ES6のクラスを使用して定義されている場合の、Reactコンポーネントに対する基底クラスです。ReactでES6のクラスを使用する方法については、[再利用可能なコンポーネント](/react/docs/reusable-components-ja-JP.html#es6-classes)をご覧ください。基底クラスからどのメソッドが実際に提供されるかについては、[コンポーネントAPI](/react/docs/component-api-ja-JP.html)をご覧ください。
### React.createClass
```javascript
ReactClass createClass(object specification)
```
与えられた仕様に基づいてコンポーネントクラスを作成します。コンポーネントは **ある単一の** 子要素を返す `render` メソッドを実行します。その子要素は勝手に深い子要素の構造を保持しています。コンポーネントが標準的なプロトタイプのクラスと異なっている部分は、newを呼ぶ必要がないということです。それらは内部でnewを行うインスタンスを構築する便利なラッパーです。
specificationオブジェクトについての情報は、[コンポーネントのスペックとライフサイクル](/react/docs/component-specs-ja-JP.html)をご覧ください。
### React.createElement
```javascript
ReactElement createElement(
string/ReactClass type,
[object props],
[children ...]
)
```
与えられた型の `ReactElement` を作成し、返します。type引数はhtmlタグ名例えば、'div'、'span'など)の文字列にも`ReactClass``React.createClass` によって作成される)にもなり得ます。
### React.cloneElement
```
ReactElement cloneElement(
ReactElement element,
[object props],
[children ...]
)
```
`element` をスターティングポイントとして使用する新しい `ReactElement` をクローンして返します。
結果として生まれる要素はオリジナルの要素のpropsと新しいpropsを暗にマージしたものを保持しています。新しい子要素は現存する子要素を置き換えます。 `React.addons.cloneWithProps` と異なり、オリジナルの要素から得られた `key``ref` は保存されます。(`cloneWithProps` とは異なりpropsをマージする際に特別な動きは行いません。詳細については、[v0.13 RC2 blog記事](/react/blog/2015/03/03/react-v0.13-rc2.html)をご覧ください。
### React.createFactory
```javascript
factoryFunction createFactory(
string/ReactClass type
)
```
与えられた型のReactElementsを生成する関数を返します。 `React.createElement` と同様に、type引数はhtmlタグ名例えば、'div'、'span'など)の文字列にも`ReactClass` にもなり得ます。
### React.render
```javascript
ReactComponent render(
ReactElement element,
DOMElement container,
[function callback]
)
```
与えられた `container` によってReactElementをDOMにレンダリングし、コンポーネントへの参照を返します。
もしReactElementが事前に `container` にレンダリングされていた場合は、更新を行い、DOMが最新のReactのコンポーネントを表すように変化させます。
オプションのコールバックが与えられた場合は、コンポーネントがレンダリングされたり、更新された後に実行されます。
> 注意:
> `React.render()` は渡されたコンテナーードの内容を制御します。内部に存在するDOM要素は最初に呼ばれた際に置き換えられます。その後に呼ばれた場合は、ReactのDOMの差分アルゴリズムを使用して、効率的に更新されます。
>
> `React.render()` はコンテナーードの変更は行いませんコンテナの子要素のみ変更を行います。今後、存在する子要素を上書きすることなく、存在するDOMードにコンポーネントを挿入することが可能になるでしょう。
### React.unmountComponentAtNode
```javascript
boolean unmountComponentAtNode(DOMElement container)
```
マウントされたReactのコンポーネントをDOMから削除し、そのイベントハンドラとstateをクリーンアップします。コンテナにコンポーネントがマウントされていない場合は、この関数を呼んでも何も行われません。コンポーネントがアンマウントされた場合は `true` を返し、アンマウントするコンポーネントが存在しない場合は `false` を返します。
### React.renderToString
```javascript
string renderToString(ReactElement element)
```
ReactElementを最初にHTMLにレンダリングします。これはサーバでのみ使用されるべきです。ReactはHTML文字列を返します。このメソッドを、サーバでHTMLを生成し、最初のリクエストに対してマークアップを送るのに使用することができます。そうすることで、ページロードが速くなり、サーチエンジンはSEOの目的でページをクロールします。
既にサーバでレンダリングされたマークアップを保持しているノードで `React.render()` を呼んだ場合は、Reactはそれを保護し、イベントハンドラを加えます。そうすることで、最初のローディングのパフォーマンスがとても良くなります。
### React.renderToStaticMarkup
```javascript
string renderToStaticMarkup(ReactElement element)
```
`renderToString` に似ていますが、Reactが内部で使用する `data-react-id` のような外部のDOM属性を作成しません。Reactを、単純な静的なページを生成するために使用したい場合は有用です。外部の属性を取り除くことでメモリを節約することができます。
### React.isValidElement
```javascript
boolean isValidElement(* object)
```
オブジェクトがReactElementであるかどうか調査します。
### React.findDOMNode
```javascript
DOMElement findDOMNode(ReactComponent component)
```
このコンポーネントがDOMにマウントされた場合は、対応するネイティブブラウザのDOM要素を返します。このメソッドはDOMの外の値を読み込む場合に有用です。例えば、formフィールドの値やDOMの測定を行う場合があります。 `render``null``false` を返した場合は、 `findDOMNode``null` を返します。
### React.DOM
`React.DOM` はDOMコンポーネントのための `React.createElement` の周りの便利なラッパーを提供します。JSXを使用しない場合にのみ使用すべきです。例えば、 `React.DOM.div(null, 'Hello World!')` のように。
### React.PropTypes
`React.PropTypes` はコンポーネントに与えられたpropsをバリデーションするためにコンポーネントの `propTypes` と使用できる型を含んでいます。 `propTypes` についての更なる情報は、[再利用可能なコンポーネント](/react/docs/reusable-components-ja-JP.html)をご覧ください。
### React.Children
`React.Children``this.props.children` の不透明なデータ構造を扱うユーティリティを提供します。
#### React.Children.map
```javascript
object React.Children.map(object children, function fn [, object thisArg])
```
全ての `children` を含む子要素に対して、 `fn` を実行します。 `this``thisArg` にセットされます。 `children` がネストしたオブジェクトや配列だった場合は、実行されません。 `fn` はコンテナのオブジェクトから渡されません。子要素が `null``undefined` だった場合は、空のオブジェクトではなく `null``undefined` を返します。
#### React.Children.forEach
```javascript
React.Children.forEach(object children, function fn [, object thisArg])
```
`React.Children.map()` に似ていますが、オブジェクトを返しはしません。
#### React.Children.count
```javascript
number React.Children.count(object children)
```
`children` の中のコンポーネントの合計数を返します。 `map``forEach` に渡されるコールバックが実行される数と等しくなります。
#### React.Children.only
```javascript
object React.Children.only(object children)
```
`children` の単一の子要素を返します。それ以外の場合は例外をスローします。