Anunciamos React Native 0.61 con Fast Refresh
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Nos complace anunciar React Native 0.61, que incluye una nueva experiencia de recarga que llamamos Fast Refresh.
Fast Refresh
Cuando preguntamos a la comunidad de React Native sobre puntos problemáticos comunes, una de las respuestas principales fue que la función de "recarga en caliente" estaba rota. No funcionaba de manera confiable para componentes funcionales, a menudo fallaba al actualizar la pantalla y no resistía errores tipográficos. Escuchamos que la mayoría de la gente la desactivaba porque era demasiado poco fiable.
En React Native 0.61, unificamos las funciones existentes de "recarga en vivo" (recargar al guardar) y "recarga en caliente" en una nueva función llamada "Fast Refresh". Fast Refresh se implementó desde cero con estos principios:
-
Fast Refresh admite completamente React moderno, incluidos componentes funcionales y Hooks.
-
Fast Refresh se recupera adecuadamente después de errores tipográficos y otros fallos, recurriendo a recarga completa cuando es necesario.
-
Fast Refresh no realiza transformaciones de código invasivas, por lo que es lo suficientemente confiable como para estar activado por defecto.
Para ver Fast Refresh en acción, mira este video:
¡Pruébalo y cuéntanos qué opinas! Si lo prefieres, puedes desactivarlo en el Menú de desarrollo (Cmd+D en iOS, Cmd+M o Ctrl+M en Android). Activarlo y desactivarlo es instantáneo, así que puedes hacerlo en cualquier momento.
Aquí tienes algunos consejos sobre Fast Refresh:
-
Por defecto, Fast Refresh preserva el estado local de React en componentes funcionales (¡y Hooks!).
-
Si necesitas resetear el estado de React en cada edición, añade el comentario especial
// @refresh reseten el archivo de ese componente. -
Fast Refresh siempre vuelve a montar componentes de clase sin preservar estado. Esto garantiza su funcionamiento confiable.
-
¡Todos cometemos errores en el código! Fast Refresh reintenta el renderizado automáticamente tras guardar un archivo. No necesitas recargar la app manualmente después de corregir errores de sintaxis o runtime.
-
Añadir sentencias
console.logodebuggerdurante las ediciones es una técnica de depuración muy útil.
Reporta cualquier problema con Fast Refresh en GitHub, y los investigaremos.
Otras mejoras
-
Corrección del soporte para use_frameworks! en CocoaPods. En 0.60 realizamos actualizaciones para integrar CocoaPods por defecto. Lamentablemente, esto rompió compilaciones usando use_frameworks!. Esto está solucionado en 0.61, facilitando integrar React Native en proyectos iOS que requieren frameworks dinámicos.
-
Se añade el Hook useWindowDimensions. Este nuevo Hook proporciona y suscribe automáticamente actualizaciones de dimensiones, pudiendo usarse en lugar de la API Dimensions en la mayoría de casos.
-
React se actualizó a 16.9. Esta versión deprecia nombres antiguos de métodos del ciclo de vida UNSAFE_, contiene mejoras en
act, y más. Consulta la publicación sobre React 16.9 para el script de migración automatizado y más información.
Cambios importantes
- Eliminación de React .xcodeproj. En la versión 0.60, introdujimos soporte para auto-linking mediante CocoaPods. También hemos integrado CocoaPods en las pruebas de extremo a extremo, estableciendo así una forma estándar unificada de integrar React Native en aplicaciones iOS. Esto elimina efectivamente el soporte para React .xcodeproj, y el archivo se ha eliminado a partir de la versión 0.61. Nota: si ya usas auto-linking de la versión 0.60, no deberías verte afectado.
Agradecimientos
¡Gracias a todos los colaboradores que ayudaron a hacer posible la versión 0.61!
Para ver todas las actualizaciones, consulta el registro de cambios de la versión 0.61.