Actualizada para reaccionar Native 0.62.0 Obteniendo señal de advertencia - "Llamar a` getNode () `en la referencia del componente animado ya no es necesario


9

Acabo de actualizar mi aplicación Reaccionar nativa a 0.62.0, y ahora mi aplicación sigue recibiendo esta señal de advertencia

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.

No estoy seguro de por qué aparece este problema. ¿Alguien puede explicar?

También veo pila

ref.getNode |
createAnimatedComponent.js:129:20

SafeView#_updateMeasurements | index.js:192:14

SafeView#componentDidUpdate | index.js:154:9

Actualizar

Creo que esto podría provenir de SafeAreaView de react-navigation

Respuestas:


4

También llegué a esta advertencia después de actualizar ro RN 0.62.1, y no utilicé getNode() en absoluto, resulta que vino de una dependencia que uso, llamado react-native-snap-carouselporque lo construyeron con FlatList y posiblemente también usando el getNode().

Y ahora hay un problema abierto sobre esto en su repositorio de GitHub que podemos seguir, aquí está el enlace a problema

Actualizar

esto también vino del paquete react-native-safe-area-view, posiblemente su aplicación esté usando este paquete y ahora han lanzado una nueva versión para corregir la getNode()degradación, vea este PR

así que en lugar de arreglar el archivo directamente usted mismo, solo necesita actualizar el paquete, simplemente ejecute: npm i react-native-safe-area-view

Espero que sea de ayuda :)


2

Para solucionar esto rápidamente, vaya a node_modules / react-native-safe-area-view => index.js

en la línea 192 cambio

this.view.getNode (). measureInWindow ((winX, winY, winWidth, winHeight)

a

this.view.measureInWindow ((winX, winY, winWidth, winHeight)


1

Como se ve en la publicación del blog que anuncia el lanzamiento de RN62, getNode()ahora está en desuso. Simplemente puede usar refsin llamar getNode(). Ver este compromiso .


1
La cuestión es que no estoy usando nada con getNode, ¿es posible que un paquete que estoy trayendo lo esté usando? No estoy seguro de cómo puedo ver qué paquete lo usa. ¿Hay una manera fácil de averiguarlo?
hellomello

Actualización: creo que podría provenir de SafeAreaView desde react-navigation
hellomello

1
sí, la advertencia puede provenir de algunas de sus dependencias, como usted menciona
Ovidiu Latcu

0

getNode() ahora está en desuso en el lanzamiento de RN62, puede degradar RN a 0.61.5 y ya no recibirá esas advertencias.


0

el problema ocurrirá cuando use createAnimatedComponent para componentes mientras ya existe en la biblioteca animada, por ejemplo, si lo usamos para FlatList, esta advertencia se mostrará para solucionarlo, solo llame directamente a componentes

para más detalles ingrese la descripción del enlace aquí


0

cambio

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

a

return this._carouselRef;

* Eliminar getNode () lo arreglará.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.