CursosEmpresasBlogLiveConfPrecios

Planifica y crea el estado global de tu app

Clase 4 de 15 • Curso de App Mobile utilizando Woocommerce

Clase anteriorSiguiente clase

Contenido del curso

Presentación

  • 1
    Bienvenida y presentación

    Bienvenida y presentación

    01:24 min

Preparando el proyecto

  • 2
    Análisis del proyecto y conexión con la API de WooCommerce

    Análisis del proyecto y conexión con la API de WooCommerce

    10:29 min
  • 3
    ¿Cómo puedo comenzar un proyecto con React Native?

    ¿Cómo puedo comenzar un proyecto con React Native?

    14:44 min

Creando tu app

  • 4
    Planifica y crea el estado global de tu app

    Planifica y crea el estado global de tu app

    Viendo ahora
  • 5
    Crea la pantalla de productos

    Crea la pantalla de productos

    17:39 min
  • 6
    Crea la vista de productos en la pantalla principal

    Crea la vista de productos en la pantalla principal

    15:20 min
  • 7
    Aprende a crear la navegación de tu app

    Aprende a crear la navegación de tu app

    20:34 min
  • 8
    Crea la pantalla de detalles de productos

    Crea la pantalla de detalles de productos

    20:54 min
  • 9
    ¿Cómo agregar el carrito a tu app?

    ¿Cómo agregar el carrito a tu app?

    11:55 min
  • 10
    Crea la vista de productos de tu carrito

    Crea la vista de productos de tu carrito

    17:56 min
  • 11
    Implementa cambios visuales basados en el carrito

    Implementa cambios visuales basados en el carrito

    20:49 min
  • 12
    Comprende cómo funcionan los payment gateways para tu app

    Comprende cómo funcionan los payment gateways para tu app

    04:08 min
  • 13
    Crea la pantalla de checkout

    Crea la pantalla de checkout

    24:58 min
  • 14
    Guarda los pedidos de tu app

    Guarda los pedidos de tu app

    19:22 min

Conclusiones

  • 15
    ¿Por dónde puedes seguir tu ruta?

    ¿Por dónde puedes seguir tu ruta?

    01:06 min
Tomar examen
    Adrian Barabino

    Adrian Barabino

    student•
    hace 3 años

    Consulta: la concatenación de los parámetros de la url (el siteUrl y las wcCredentials) no sería mejor hacerlo directamente en el apiFetch.js? Ya que estimo que se utilizaría esas credentials en todos los distintos requests a la api, o por alguna razón es mejor dejarlo fuera de apiFetch.js? Gracias!!

      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 3 años

      Hola Adrián, cómo estás? Por lo general, si se tiene un archivo de configuración se guarda todo ahí, para tener que cambiar cualquier variable en un solo lugar y no en diferentes archivos. Sin embargo, se puede hacer de la forma que propones también. No habría ningún problema a fines prácticos. Saludos!

    Maximiliano Gomez

    Maximiliano Gomez

    student•
    hace 3 años

    He seguido todos los pasos del link que compartió Link para configurar el entorno, pero aún así sigo teniendo el mismo error, ¿qué me estará faltando? ayuda por favor.

    Captura de Pantalla 2023-02-10 a la(s) 20.13.09.png
      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 3 años

      Hola Maximiliano, cómo estás? Por el error que compartís, el problema es que la address o el puerto están siendo utilizados por otra app y por eso no te permite conectar. No es un problema de instalación, sino de compatibilidad de las direcciones. Deberías revisar si no tenés otras aplicaciones o servidores corriendo en los puertos que intenta utilizar la App. Saludos!

      Luis Carlos Zapata García

      Luis Carlos Zapata García

      student•
      hace 2 años

      ¿Para no tener esos problemas, se puede usar Docker?

    Luis Fernandez

    Luis Fernandez

    student•
    hace 4 años

    No me corrio, me mando este error: warn No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB. info Reloading app... Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHash (node:crypto:130:10) at stableHash (C:\Users\Luis Fernandez\Desktop\WordPress\ysapp\node_modules\metro-cache\src\stableHash.js:19:8) at Object.getCacheKey (C:\Users\Luis Fernandez\Desktop\WordPress\ysapp\node_modules\metro-transform-worker\src\index.js:593:7) at getTransformCacheKey (C:\Users\Luis Fernandez\Desktop\WordPress\ysapp\node_modules\metro\src\DeltaBundler\getTransformCacheKey.js:24:19) at new Transformer (C:\Users\User\Desktop\WordPress\ysapp\node_modules\metro\src\DeltaBundler\Transformer.js:48:9) at C:\Users\Luis Fernandez\Desktop\WordPress\ysapp\node_modules\metro\src\Bundler.js:22:29 { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'

      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 4 años

      Hola Luis, cómo estás? Tenés que asegurarte de que el emulador o dispositivo esté creado y conectado previamente. El error es que no te está detectando ninguno de los dos. Acá en la configuración de entorno explica cómo hacerlo. Saludos!

    Diego Castro

    Diego Castro

    student•
    hace 4 años

    Tengo este error en la consola...

    Captura de pantalla (725).png

      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 4 años

      Hola Diego, cómo estás? Asegurate que tenés descargado alguno de los dispositivos de Emulación de Android Studio, porque el error dice que no tenés ningún emulador. Te dejo el link con toda la info de setup. Espero que con esto puedas resolver el problema. Saludos!

      Diego Castro

      Diego Castro

      student•
      hace 4 años

      Hola Lucio, muchas gracias por la ayuda. Al final tuve que trabajar en la powershell de windows y me corrió. Nunca pude hacerlo desde la terminal de wsl. Voy a verificar lo que me dices para probar desde ahí. Muchas gracias!

    Juanito Ortega Guzmán

    Juanito Ortega Guzmán

    student•
    hace 4 años

    Estoy estancado aquí... tengo instalado Android Studio, tengo el emulador de Android 11.

    Pero tengo esto en consola cuando intento correr la App para ver el Hello Wordl.

    (base) jortega@Juanitos-MacBook-Pro storeapp % npx react-native run-android info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag. Jetifier found 870 file(s) to forward-jetify. Using 4 workers... info Starting JS server... /bin/sh: adb: command not found info Launching emulator... error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`. warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch. info Installing the app... Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/android/local.properties'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 16s
      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 4 años

      Hola Juanito, cómo estás? El problema es que no tenés definidas las variables de entorno que solicita React Native en tu terminal. Acá te dejo el enlace para que puedas seguir los pasos. Asegurate de elegir las opciones de tu Notebook apra tener los pasos correctos. Entiendo que solo te faltaría el paso de definir las variables ANDROID_HOME y definir los paths correctos. Con esos pasos, debería quedar todo el entorno bien configurado y no deberías tener más problemas para compilar. Saludos!

      Juanito Ortega Guzmán

      Juanito Ortega Guzmán

      student•
      hace 4 años

      Hola profesor. Añadí las variables de entorno a mi archivo .bash_profile. Lanzo mi emulador Ejecuto

      npx react-native run-android

      Por favor ayuda, no se explica bien el paso a paso para preparar bien el entorno de desarrollo, es como si se asumiera que uno ya tiene el entorno listo. Soy nuevo intentando crear una app con react native. Así tengo mi archivo .bash_profile.

      Screen Shot 2021-12-15 at 01.04.42.png
      Screen Shot 2021-12-15 at 01.03.17.png

      (base) jortega@Juanitos-MacBook-Pro storeapp % npx react-native run-android info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag. Jetifier found 870 file(s) to forward-jetify. Using 4 workers... info Starting JS server... /bin/sh: adb: command not found info Launching emulator... error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`. warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch. info Installing the app... Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/android/local.properties'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 35s error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/android/local.properties'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 35s at makeError (/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:174:9) at /Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/node_modules/@react-native-community/cli-platform-android/node_modules/execa/index.js:278:16 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async runOnAllDevices (/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:106:5) at async Command.handleAction (/Users/jortega/Cursos/Platzi/WordPress/app-woocommerce/storeapp/node_modules/@react-native-community/cli/build/index.js:192:9) info Run CLI with --verbose flag for more details.

      Por favor algun otro tip? Gracias...

    Maximiliano Gomez

    Maximiliano Gomez

    student•
    hace 3 años

    Necesito ayuda, tengo todo instalado: .zprofile =>

    Captura de Pantalla 2023-02-10 a la(s) 20.17.46.png

    .bash_profile =>

    Captura de Pantalla 2023-02-10 a la(s) 20.18.16.png

    Instalado Brew, Node y Java

    Captura de Pantalla 2023-02-10 a la(s) 20.19.38.png

    he seguido paso a paso lo indicado en el link que compartió pero sigo teniendo este error:

    Captura de Pantalla 2023-02-10 a la(s) 20.13.09.png

      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 3 años

      Hola Maximiliano, cómo estás? Por el error que compartís, el problema es que la address o el puerto están siendo utilizados por otra app y por eso no te permite conectar. No es un problema de instalación, sino de compatibilidad de las direcciones. Deberías revisar si no tenés otras aplicaciones o servidores corriendo en los puertos que intenta utilizar la App. Saludos!

    Luis Fernandez

    Luis Fernandez

    student•
    hace 4 años

    Lucio me manda este error, que hago???

    Captura de pantalla (23).png

      Lucio Negrello

      Lucio Negrello

      teacher•
      hace 4 años

      Hola Luis, cómo estás? ¿Seguiste todos los pasos de la documentación para preparar el entorno? ¿En algún momento corriste la aplicación de ejemplo o directamente intentaste con esta? Por lo que leo en el error, el problema está en el path de la App por el espacio en tu nombre de usuario. Se me ocurre que podés crear un symlink que apunte a esa carpeta para evitar ese problema. Otra alternativa es probar la expo-cli que puede que ya tenga implementada una solución. Voy a revisar si encuentro algún caso en el que lo hayan resuelto. Saludos!

      Luis Fernandez

      Luis Fernandez

      student•
      hace 4 años

      Hola Lucio, los segui todos, de hecho estoy intentando en un tlf y la intenta cargar, se me pone la pantalla en blanco y me dice Reloading en la parte de arriba

    Nelson

    Nelson

    student•
    hace 4 años

    ¿Hola Lucio, tengo este error al consultar los datos del API, que puedo hacer? muchas gracias

      Nelson

      Nelson

      student•
      hace 4 años

      https://prnt.sc/oyDJS1lpZoHQ

    Miguel Angel Saavedra

    Miguel Angel Saavedra

    student•
    hace 10 meses

    Estimado, tiene que ser esa ruta especifica para poder ejecutar el comando npx react-native run-android.

    Ángel Alfredo Guzmán

    Ángel Alfredo Guzmán

    student•
    hace 3 años

    Excelente explicación!

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads