Je viens de mettre à niveau mon application native react vers la version 0.62.0, et maintenant mon application continue de recevoir ce signe d'avertissement
ReactNativeFiberHostComponent: Calling `getNode()` on the ref of an Animated component
is no longer necessary. You can now directly use the ref instead.
This method will be removed in a future release.
Je ne sais pas pourquoi ce problème apparaît? Quelqu'un peut-il expliquer?
Je vois aussi Stack
ref.getNode |
createAnimatedComponent.js:129:20
SafeView#_updateMeasurements | index.js:192:14
SafeView#componentDidUpdate | index.js:154:9
Mettre à jour
Je pense que cela peut provenir de SafeAreaView de react-navigation
Comme on le voit dans le article de blog annonçant la sortie de RN62, getNode()
est désormais obsolète. Vous pouvez simplement utiliser ref
sans appeler getNode()
. Voir ceci commit .
Si vous utilisez react-native-snap-carousel
vous pouvez le corriger en modifiant votre module de nœud localement.
d'abord aller à
./node_modules/react-native-snap-carousel/src/Carousel.js
changement
const AnimatedFlatList = FlatList ? Animated.createAnimatedComponent(FlatList) : null;
const AnimatedScrollView = Animated.Animated.createAnimatedComponent(ScrollView);
dans
const AnimatedFlatList = FlatList ? Animated.FlatList : null;
const AnimatedScrollView = Animated.ScrollView;
et enfin, changez votre _getWrappedRef
fonction pour
_getWrappedRef () {
return this._carouselRef
}
Cela arrêtera l'avertissement jusqu'à ce que nous ayons une mise à jour sur ce package.
le problème se produira lorsque vous utilisez createAnimatedComponent pour les composants alors qu'il existe déjà dans une bibliothèque animée, par exemple si nous l'utilisons pour FlatList, cet avertissement s'affichera pour le réparer, appelez simplement componenty directement
pour plus de détails entrez la description du lien ici
changement
return this._carouselRef && this._carouselRef.getNode && this._carouselRef.getNode();
à
return this._carouselRef;
* La suppression de getNode () le corrigera.