2016-05-24 6 views
0

イベントを取得する必要があるのは、イベントターゲットが特別なビューであるかどうかによって異なります。
何かのようにview._rootNodeID === 'event.dispatchMarker'反応要素のrootNodeIDを取得する方法

しかし、私が得ることができる唯一の参照がReactNativeBaseComponent実際のではなく、ReactNativeBaseComponentを構築するために使用baking data instanceのようなものではないので_rootNodeIDを取得する方法はないように思えます。私がソースコードを正しく理解していればReactNativeBaseComponentは本当に_rootNodeIDを所有しています。
反応のネイティブソースコードを変更して、私が望むものを達成することができますが、より良い方法はないことを確認したいと思います。

答えて

0

私はいつもものを複雑にする傾向があるようです...なぜ私はその特別なビューで直接タッチイベントを処理しないでしょうか?
実際の要素を参照するには、_reactInternalInstanceという名前のプロパティに気付かないように気をつけなければなりません。そうしても、breaks encapsulationになります。

0

ReactInstanceMapがこのために存在します。

const ReactInstanceMap = require('ReactInstanceMap'); 

const inst = ReactInstanceMap.get(view); 

view === inst.getPublicInstance(); 
関連する問題