Après la mise à niveau vers la version 0.26.0-rc, cette ligne:
React.findNodeHandle(this.refs.myRef)
Lance ce message d'erreur:
Exception JS non gérée: _react2.default.findNodeHandle n'est pas un une fonction.
J'importe Réagir avec ceci:
import React from 'react';
Docs indique toujours : "Comme toujours, vous pouvez utiliser React.findNodeHandle (composant) pour obtenir un descripteur de noeud natif pour un composant."
Vous devez également importer ReactNative.
import ReactNative from 'react-native';
...
ReactNative.findNodeHandle(...)
Maintenant, la fonction peut être utilisée sans objet:
import {
...
findNodeHandle,
...
} from 'react-native';
Et appelez-le directement:
findNodeHandle(this.refs[refName])
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)
})