web-dev-qa-db-fra.com

Mise à jour vers React Native 0.62.0 Obtenir un signe d'avertissement - "L'appel de` getNode () `sur la référence du composant animé n'est plus nécessaire

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

10
hellomello

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 .

1
Ovidiu Latcu

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.

1
picacode

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

0
binar ahmed

changement

return this._carouselRef && this._carouselRef.getNode && this._carouselRef.getNode();

à

return this._carouselRef;

* La suppression de getNode () le corrigera.

0
Dilina Dehigama