2016-06-01 5 views
1

私はIDが14のReactノードを持っているとしましょう。このノードが、ツリー内にid 2の別のノードの子ノードであるかどうかをチェックしたいと思います。必ずしも直接の子である必要はありませんが、14は他のいくつかのノードにネストすることができますが、最終的にはツリー内の子孫が22がその祖先です。ノードがReact/React Nativeの別のノードの親ノードであるかどうかを確認します

これを行うための組み込み関数はありますか?

編集

私は私のアプリでレンダリングいくつかのScrollView秒を持っている、と私は彼らが自動的にそれらに含まれるTextInput Sを処理します。私は特定のTextViewが1つに含まれているかどうかを確認できるようにしたいですScrollView

+0

コンテキストを追加できますか?なぜあなたはそれをしたいのですか? –

+0

完了@DanielSchmidt – amb

+0

いくつかのコード例が必要な場合は答えを書きました –

答えて

0

質問の文脈に関しては、スクロールビューを含むコンポーネントにcontextを追加し、入力を含むコンポーネントのコンテキストを取得することをお勧めします。そこで、渡されたコールバックを入力にバインドすることができます。

+0

これは興味深いですが、ノードの要素にアクセスしてそのコンテキストを取得する必要があります。 'findNodeHandle'は不透明なノード番号を返します。その番号でどのように要素を取得できるのか分かりません。 – amb

+0

さて、私は両方とも異なるコンテキストの概念を指しています。私の考え方はリアクション(React)の仕組みであり、コンポーネントの階層を伝播する必要はない小道具様のコンテンツを指定できます。私の最初の質問は、 "要素のコンテキスト"とは何かを意味し、なぜ私はrefプロパティを使用せず、渡された関数にバインドしてノード "dom"要素を保持するのでしょうか? –

+0

私が文脈を意味するのは、まさにあなたが記述したものです。まず、 'TextInput.State.currentlyFocusedField'を使ってノードの' tag'を取得します。そのタグはReactコンポーネントではなく、数字であり(私はそれを要素として言及しました、私の誤り)、したがって私はそのコンテキストにアクセスすることができません。 – amb

0

私はそれが古い投稿だと知っていますが、私は現在同様のものを達成しようとしています。

あなたはReactNativeComponentTree(反応し、ネイティブ/ライブラリ/レンダラー/ SRC /レンダラー/ネイティブ/)で見つけることができる機能getInstanceFromNodeがあります。ノードIDにアタッチされたコンポーネントを返します。

また、コンポーネントツリー全体を取得する変数「_hostParent」があります。

関連する問題