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レンダラーによって完全に管理されるためです。