Atualizado para React Native 0.62.0 Obtendo o sinal de aviso - "Não é mais necessário chamar` getNode () `na ref do componente Animated


9

Acabei de atualizar meu aplicativo nativo de reação para 0.62.0 e agora meu aplicativo continua recebendo esse sinal de aviso

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.

Não sei por que esse problema está aparecendo? Alguém pode me explicar?

Eu também vejo Stack

ref.getNode |
createAnimatedComponent.js:129:20

SafeView#_updateMeasurements | index.js:192:14

SafeView#componentDidUpdate | index.js:154:9

Atualizar

Acredito que isso possa estar vindo do SafeAreaView do react-navigation

Respostas:


4

Também cheguei a esse aviso após a atualização do ro 0.62.1, e não o utilizei, getNode()resultou de um déficit que utilizo, chamado react-native-snap-carouselporque eles o compilam com o FlatList e possivelmente o utilizam getNode()também.

E agora há um problema em aberto no repositório do GitHub que podemos seguir, aqui está o link para o problema

Atualizar

isso também veio do pacote react-native-safe-area-view, possivelmente seu aplicativo esteja usando esse pacote e agora eles lançaram uma nova versão para corrigir a getNode()obsolescência, consulte este PR

então, em vez de corrigir o arquivo diretamente, basta atualizar o pacote, basta executar: npm i react-native-safe-area-view

Espero que seja de ajuda :)


2

Para corrigir isso rapidamente, vá para node_modules / react-native-safe-area-view => index.js

na linha 192 mudar

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

para

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


1

Como visto na postagem do blog que anuncia o lançamento do RN62, getNode()agora está obsoleto. Você pode simplesmente usar refsem ligar getNode(). Veja este commit .


11
O problema é que não estou usando nada com o getNode, é possível que um pacote que estou trazendo o esteja usando? Não tenho certeza de como posso ver qual pacote o usa? Existe uma maneira fácil de descobrir?
hellomello 29/03

Atualização - eu acho que pode estar vindo do SafeAreaView de react-navigation
hellomello 30/03

11
Sim, o aviso pode vir de algumas de suas dependências, como você mencionou
Ovidiu Latcu

0

getNode() agora está obsoleto no lançamento do RN62, você pode apenas fazer o downgrade do RN para 0.61.5 e não receberá mais esses avisos.


0

o problema ocorrerá quando você usar createAnimatedComponent para componentes enquanto ele já existir na biblioteca animada, por exemplo, se o usarmos no FlatList, esse aviso será exibido para corrigi-lo, basta ligar diretamente para componenty

para mais detalhes, insira a descrição do link aqui


0

mudança

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

para

return this._carouselRef;

* A remoção de getNode () irá corrigi-lo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.