Saya menggunakan Material ui SwipeableViews yang menggunakan paket ReactSwipableView, saya mendapatkan kesalahan ini di konsol
react-dom.development.js: 12466 Peringatan: componentWillReceiveProps telah diganti nama, dan tidak disarankan untuk digunakan. Lihat detailnya.
- Pindahkan data yang mengambil kode atau efek samping ke componentDidUpdate.
- Jika Anda memperbarui status setiap kali props berubah, perbaiki kode Anda untuk menggunakan teknik memoisasi atau pindahkan ke getDerivedStateFromProps statis. Pelajari lebih lanjut di:
- Ganti nama componentWillReceiveProps menjadi UNSAFE_componentWillReceiveProps untuk menekan peringatan ini dalam mode non-ketat. Di Bereaksi 17.x, hanya nama UNSAFE_ yang akan berfungsi. Untuk mengganti nama semua daur hidup yang tidak digunakan lagi ke nama baru mereka, Anda dapat menjalankannya
npx react-codemod rename-unsafe-lifecycles
di folder sumber proyek Anda.Harap perbarui komponen berikut: ReactSwipableView
apakah ada cara untuk menghilangkan kesalahan ini saya mencoba UNSAFE_componentWillReceiveProps tetapi tidak ada yang berubah
componentWillReceiveProps
di Anda komponen, atau yang berasal dari paket Anda?Jawaban:
Sepertinya ini sudah dilaporkan ke pengelola.
Sekarang, sebagai konsumen perangkat lunak sumber terbuka, Anda dapat:
componentWillReceiveProps
dalam repoPada akhirnya, ini bukan kesalahan yang terkait dengan perangkat lunak Anda, tetapi ketergantungan yang diandalkannya. Sebenarnya bukan tanggung jawab Anda untuk memperbaikinya. Jika aplikasi Anda berjalan, itu akan baik-baik saja. Peringatan dari
react-dom.development.js
tidak akan muncul dalam produksi.sumber
Gunakan
getDerivedStateFromProps
sebagai ganticomponentWillReceiveProps
Sebagai contoh:
Sebelum:
Setelah:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
sumber
Saya mengalami masalah menemukan di mana dalam komponen kode sayaWillReceiveProps dipanggil. Saya memang memperhatikan dalam peringatan itu disebutkan komponen tertentu, "Laci" yang merupakan bagian dari semut-d lib yang kita gunakan. Setelah memutakhirkan ant-d ke versi terbaru, peringatan itu hilang.
sumber
Ini adalah kesalahan umum yang terjadi pada proyek asli yang bereaksi. Jadi itu dapat diatasi dengan langkah-langkah berikut:
-Setelah itu tulis kode berikut di file .js Anda:
sumber