--- 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` の単一の子要素を返します。それ以外の場合は例外をスローします。