20

を動作を停止し反応して、この行:は」findNodeHandle方法が<em>0.26.0-RC</em>バージョンへのアップグレード後

未処理JS例外:_react2.default

React.findNodeHandle(this.refs.myRef) 

は、このエラーメッセージをスローします。 findNodeHandleは 関数ではありません。

私はこれと反応してインポートしています:コンポーネントのネイティブノードハンドルを取得するために、あなたはReact.findNodeHandle(コンポーネント)を使用することができ、いつものように 」:

import React from 'react'; 

ドキュメントstill say。 "

+0

バージョン '何の0.26-rc'を?どのドキュメントがそうだと思いますか? – loganfsmyth

+0

React Native、https://github.com/facebook/react-native – Cherniv

+0

さらにコードを表示することはできますか? –

答えて

24

ReactNativeもインポートする必要があります。

import ReactNative from 'react-native'; 
... 
ReactNative.findNodeHandle(...) 
33

今関数はオブジェクトなく使用することができる。

import { 
    ... 
    findNodeHandle, 
    ... 
} from 'react-native'; 

そして、それを直接呼び出す:

findNodeHandle(this.refs[refName]) 
+0

クールでいいアイデア! – Cherniv

0
import { 
    ... 
    findNodeHandle, 
} from 'react-native'; 

var RCTUIManager = require('NativeModules').UIManager; 

var view = this.refs['yourRef']; // Where view is a ref obtained through <View ref='ref'/> 
RCTUIManager.measure(findNodeHandle(view), (fx, fy, width, height, px, py) => { 
    console.log('Component width is: ' + width) 
    console.log('Component height is: ' + height) 
    console.log('X offset to frame: ' + fx) 
    console.log('Y offset to frame: ' + fy) 
    console.log('X offset to page: ' + px) 
    console.log('Y offset to page: ' + py) 
}) 
関連する問題