メインコンテンツへスキップ

refsからのノード

React Nativeアプリは、React DOMがWeb上で行うのと同様に(DOMツリー)、UIを表すネイティブビューツリーをレンダリングします。React Nativeは、すべてのネイティブコンポーネント(Viewのような組み込みコンポーネントによってレンダリングされるものを含む)によって返されるrefsを介して、このツリーへの命令的なアクセスを提供します。

React Nativeは3種類のノードを提供します

  • 要素: 要素ノードは、ネイティブビューツリー内のネイティブコンポーネントを表します(Web上のElementノードに似ています)。これらは、すべてのネイティブコンポーネントによってrefsを介して提供されます。
  • テキスト: テキストノードは、ツリー上の生テキストコンテンツを表します(Web上のTextノードに似ています)。これらはrefsを介して直接アクセスできませんが、要素refs上のchildNodesのようなメソッドを使用してアクセスできます。
  • ドキュメント: ドキュメントノードは、完全なネイティブビューツリーを表します(Web上のDocumentノードに似ています)。テキストノードと同様に、ownerDocumentのようなプロパティを使用して、他のノードを介してのみアクセスできます。

Web上と同様に、これらのノードを使用して、レンダリングされたUIツリーを走査し、レイアウト情報にアクセスしたり、focusのような命令型操作を実行したりできます。

情報

Web上とは異なり、これらのノードは変更を許可しません(例: node.appendChild)。ツリーの内容はReactレンダラーによって完全に管理されるためです。