Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
Rutas de retorno Nuxt basadas en un objeto reducido

Estoy intentando usar un método de reducción en lugar de un mapa en una matriz de objetos. El resultado produce un objeto de matrices, y tengo muchos problemas para devolver el formato de rutas nuxt adecuado.

Mi primera implementación creó rutas como

 routes () { return this.$axios.get('https://usewrapper.herokuapp.com/products').then((res) => { const routes = [] for (const key in res.data) { routes.push({ route: '/store/' + res.data[key].storeID + '/product/' + res.data[key].productId, payload: { productData: res.data[key] } }) } return routes }) }

Esto devolvería efectivamente una ruta única para cada producto en la tienda. Pero ahora intento devolver todos los productos para un ID de tienda específico y decidí usar el método de reducción para clasificar esos productos en el mismo objeto.

El código que he escrito hasta ahora es,

 const stores = axios.get('https://usewrapper.herokuapp.com/products').then((res => { return res.data.reduce((stores, item) => ({ ...stores, [item.storeID]: [...(stores[item.storeID] || []), item] })); } ))

Esto crea datos como {1: Array(11), 2: Array(5), 3: Array(10)} Los 11 elementos de la matriz son todos productos individuales, que pertenecen al ID de la tienda indexada. (Imagen a continuación)

En este punto, tengo problemas para replicar el código como se muestra a continuación, el objetivo final es para cada carga de ruta '/store/1': array(11)/ todos los productos

carga útil de la ruta 'store/2': array(5) / todos los productos

Y estoy usando el siguiente código para permitir que mi nuxt genere para hacer varias llamadas a la API

 generate: { routes: function () { let posts = axios.get('https://api.com/posts', {params: {size: 10}}).then((res) => { return res.data.posts.map((post) => { return { route: '/feed/' + post.id, payload: post } }) }) let users = axios.get('https://api.com/users', {params: {size: 10}}).then((res) => { return res.data.content.map((user) => { return { route: '/user/' + user.id, payload: user } }) }) return Promise.all([posts, users]).then(values => { return [...values[0], ...values[1]] }) } },

Texto

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda