Aprender a crear un Drawer Navigation en React Native permite organizar de manera eficiente la navegación entre pantallas en aplicaciones móviles. Esta funcionalidad muestra un menú lateral desde el cual el usuario puede seleccionar el destino deseado fácilmente, optimizando así la experiencia del usuario.
¿Qué es Drawer Navigation en React Native?
El Drawer Navigation es un tipo de menú que aparece desde un lateral del dispositivo móvil, facilitando la accesibilidad a diferentes pantallas o screens. Es especialmente útil en aplicaciones móviles donde se requiera una navegación fluida entre múltiples vistas.
¿Cómo configurar un Drawer Navigation paso a paso?
Para realizar esta configuración, sigue estos sencillos pasos:
Crear un archivo para Drawer Navigation
Es necesario crear un nuevo fichero denominado navigationDrawer.js dentro de la carpeta de navegación:
Utilizar este tipo de navegación trae consigo beneficios, tales como:
Fácil acceso a las distintas pantallas desde cualquier lugar de la aplicación.
Mejor organización del contenido visual.
Mayor comodidad para los usuarios al desplazarse entre páginas.
Además, el Drawer Navigation permite opciones avanzadas como incorporar botones personalizados para abrir el menú y diversas configuraciones adicionales.
Te invito a probar esta configuración por ti mismo y explorar más funcionalidades avanzadas que optimizarán aún más tus aplicaciones en React Native. ¿Te gustaría implementar esta característica en algún proyecto específico? ¡Compártelo en los comentarios!
La forma de solucionar el error del Drawer es la siguiente:
ejecutar la línea de comando: "expo install react-native-reanimated". Con esto vas a tener el recurso para utilizar el plugin en la configuración de babel.
En el archivo "babel.config.js":
Agregar la línea de código: "plugins: [‘react-native-reanimated/plugin’]", seguido del atributo "presets"
Por último, con la instalación del recurso de react y la configuración del plugin en babel hecha:
Ejecutar la línea de comando: "expo start --clear".
Una vez que el servidor está corriendo, entrar a localhost:19002, eso te llevará a la página del servidor local.
Entrar desde el celular a la aplicación Expo Go y tomar la captura del código QR de la página.
Listo!!
Siguiendo estos pasos lo solucioné, también me basé en los comentarios/aportes hechos anteriormente por otros usuarios.
si, les llega a generar un error con el Drawer. a añadan lo siguiente ( plugins: ['react-native-reanimated/plugin'] ) en el objeto que retorna el archivo babel.config.js
Tambien me paso lo mismo pero no me basto con solo agregar esa linea en ese archivo, antes me toco ejecutar este comando "expo install react-native-gesture-handler react-native-reanimated" en mi caso que utlice Expo, luego agregue esa linea que dices y despues pare el servidor y ejecute "expo start --clear", con eso me corrigio el error.
No le dare 5 estrellas al curso porque siento que se pudo haber aprovechado mas porque al final se puso muy interesante. Se perdio mucho tiempo explicando sobre los props y cosas de react. Del resto todo bien, la explicacion fue muy buena.
Hoy 11 de febrero del 2024 no funcionó la solución que ofrecen los compañeros en los anteriores comentarios, pero despues de mucho intentar se logró, forzando la actualización del NavigationDrawer a la versión 6 con npm install @react-navigation/drawer@6 --force o a la versión que este al momento de leer este mensaje.
Error:Requiring module "src\navigation\NavigationDrawer.js", which threw an exception:Error:Requiring module "node_modules\react-native-reanimated\src\Animated.js", which threw an exception:Error:Reanimated2 failed to create a worklet, maybe you forgot to add Reanimated's babel plugin?
Que grande este profe. Nunca lo habia visto aca en platzi, es el primer curso que veo y tomo de el, pero que grande es. Buenisimo para transmitir conocimiento.
Ya hice todo lo que dice la documentacion, tambien instale todo lo que pide, agregue el plugin al babel.json y no me funciono. En teoria no tengo errores, pero no entiendo que esta pasando y por que no funciona. Alguien podria decirme que puede ser lo que me esta faltando, ya que revise el codigo y esta igual al del profe.
2/11/2024. Para las personas que tenga el error ReanimatedError: [Reanimated] Mismatch between JavaScript part and native part of Reanimated (3.16.1 vs 3.10.0). Simplemente debe diregisrse a su archivo package.json y cambiar la version de react-native-reanimated por 3.10.0.