Ditingkatkan ke React Native 0.62.0 Mendapatkan Tanda Peringatan - "Memanggil` getNode () `pada referensi komponen Animasi tidak lagi diperlukan

9

Saya hanya memutakhirkan aplikasi asli reaksi saya ke 0.62.0, dan sekarang aplikasi saya terus mendapatkan tanda peringatan ini

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.

Saya tidak yakin mengapa masalah ini muncul? Bisakah seseorang tolong jelaskan?

Saya juga melihat Stack

ref.getNode |
createAnimatedComponent.js:129:20

SafeView#_updateMeasurements | index.js:192:14

SafeView#componentDidUpdate | index.js:154:9

Memperbarui

Saya percaya ini mungkin berasal dari SafeAreaView dari reaksi-navigasi

hellomello
sumber

Jawaban:

4

Saya juga datang ke peringatan ini setelah memutakhirkan ro RN 0.62.1, dan saya tidak menggunakan getNode()sama sekali, ternyata itu berasal dari depedensi yang saya gunakan, dipanggil react-native-snap-carouselkarena mereka membangunnya dengan FlatList dan mungkin menggunakan getNode()juga.

Dan sekarang ada masalah terbuka tentang ini di repo GitHub mereka yang bisa kita ikuti, inilah tautan ke masalahnya

Memperbarui

ini juga berasal dari paket react-native-safe-area-view, mungkin aplikasi Anda menggunakan paket ini dan sekarang mereka telah merilis versi baru untuk memperbaiki getNode()penghinaan, lihat PR ini

jadi alih-alih memperbaiki sendiri file secara langsung, Anda hanya perlu memperbarui paket, cukup jalankan: npm i react-native-safe-area-view

Semoga itu bisa membantu :)

Alvin Novian
sumber
2

Untuk memperbaiki cepat ini pergi ke node_modules / react-native-safe-area-view => index.js

pada baris 192 berubah

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

untuk

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

Wenushka Mallikarachchi
sumber
1

Seperti yang terlihat di posting blog mengumumkan rilis RN62, getNode()sekarang sudah usang. Anda bisa menggunakannya reftanpa menelepon getNode(). Lihat komit ini .

Ovidiu Latcu
sumber
1
Masalahnya, saya tidak menggunakan apa pun dengan getNode, apakah mungkin paket yang saya bawa menggunakannya? Saya tidak yakin bagaimana saya bisa melihat paket mana yang menggunakannya? Apakah ada cara mudah untuk mengetahuinya?
hellomello
Perbarui - saya pikir itu mungkin berasal dari SafeAreaView dari reaksi-navigasi
hellomello
1
ya, peringatan itu bisa datang dari beberapa dependensi Anda, seperti yang Anda sebutkan
Ovidiu Latcu
0

getNode() sudah tidak digunakan lagi saat merilis RN62, Anda cukup menurunkan versi RN ke 0,61.5 dan Anda tidak akan mendapatkan peringatan itu lagi.

Addy Abdelghani
sumber
0

masalah akan terjadi ketika Anda menggunakan createAnimatedComponent untuk komponen sementara itu sudah ada di pustaka animasi misalnya jika kita menggunakannya untuk FlatList, peringatan ini akan ditampilkan untuk memperbaikinya hanya memanggil komponen secara langsung

untuk lebih detail masukkan uraian tautan di sini

binar ahmed
sumber
0

perubahan

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

untuk

return this._carouselRef;

* Menghapus getNode () akan memperbaikinya.

Dilina Dehigama
sumber