Estoy usando material ui SwipeableViews que usan el paquete ReactSwipableView, obtengo este error en la consola
react-dom.development.js: 12466 Advertencia: componentWillReceiveProps ha cambiado de nombre y no se recomienda su uso. Ver para más detalles.
- Mueva el código de obtención de datos o los efectos secundarios a componentDidUpdate.
- Si está actualizando el estado cada vez que cambian los accesorios, refactorice su código para usar técnicas de memorización o muévalo a getDerivedStateFromProps estático. Obtenga más información en:
- Cambie el nombre de componentWillReceiveProps a UNSAFE_componentWillReceiveProps para suprimir esta advertencia en modo no estricto. En React 17.x, solo funcionará el nombre UNSAFE_. Para cambiar el nombre de todos los ciclos de vida obsoletos a sus nuevos nombres, puede ejecutarlos
npx react-codemod rename-unsafe-lifecycles
en la carpeta de origen del proyecto.Actualice los siguientes componentes: ReactSwipableView
¿Hay alguna manera de deshacerse de este error? Intenté UNSAFE_componentWillReceiveProps pero nada cambió
componentWillReceiveProps
en su componente o proviene de su paquete?Respuestas:
Parece que esto ya se ha informado a los mantenedores.
Ahora, como consumidor de un software de código abierto, puede:
componentWillReceiveProps
en el repositorioEn última instancia, este no es un error relacionado con su software, sino las dependencias en las que se basa. No es realmente tu responsabilidad arreglar eso. Si su aplicación se ejecuta, estará bien. Las advertencias de
react-dom.development.js
no aparecerán en producción.fuente
Usar en
getDerivedStateFromProps
lugar decomponentWillReceiveProps
Por ejemplo:
Antes de:
Después:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
fuente
Tuve problemas para encontrar dónde se llamaba a mi componente de código WillReceiveProps. Noté en la advertencia que mencionaba un componente particular, "Drawer", que era parte de la biblioteca ant-d que estamos usando. Después de actualizar ant-d a la última versión, la advertencia desapareció.
fuente
Es un error común ocurrido en el proyecto nativo de reacción, por lo que puede resolverse siguiendo estos pasos:
-Después, escriba el siguiente código en su archivo .js:
fuente