Vista Profile

16/27

Lectura

En esta vista vamos a trabajar con muchos componentes que a su vez tienen más componentes hijos.
Tenemos los componentes divididos en 2 grandes bloques:

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 11

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En mi caso tuve que hacer un pequeño workaround donde tengo que mandar el hash a la función getApiAccount y dentro de ella reemplazar el # por un -, además tuve que formatear el API_URL por completo, por alguna razón los params no se mandaban al ejecutar axios.get

Así quedó (una disculpa, ando usando TypeScript)

// search.ts
function getApiAccount (
  hash: string,
  { region, account }: { region:string, account: string }
) {
  const newHash = hash.replace('#', '-')
  const resource: string = `d3/profile/${account}${newHash}`

  const locale = locales[region.toLowerCase()]
  const accessToken = store.state.oauth.accessToken
  const API_URL: string = `${protocol}${region.toLowerCase()}${host}${resource}/?locale=${locale}&access_token=${accessToken}`

  return axios.get(API_URL)
}

Tengo una duda: ¿En qué momento se debe hacer una mutación con el dispatch de un action, y en qué momento no (como en el ejemplo de esta clase, donde se llama la mutación SET_ERROR a través de un método local directamente)?

Tengo unas dudas pero de JS:
1.

// no entiendo este parametro {region, account}
function getApiAccount ({ region, account }) 
export default {
  methods: {
    ...mapMutations('error', { // no entiedo los '...' del inicio de linea
      setError: 'SET_ERROR'
    }),

Gracias al que me pueda aclarar

Genial, aunque me quedan algunas dudas y algunos huecos que resolver:

1.- Funciona bien pero… funciona únicamente si cargas la ruta profile después del evento submit del formulario de home, si tu estás ya en la vista profile como primera carga de la página, aunque la URL esté bien te va a mandar a la ruta de error, estuve investigando en el código y al parecer primero se manda a llamar a la busqueda de profile y luego al get access token, realmente no entiendo por qué pasa esto, imagino que son los problemas del asincronismo, ya que en ningun momento validamos que se manden a hacer llamadas hasta que el token a este listo.

2.- En cuanto a los mixins, ¿No sería lo mismo utilizar directamente el mutation desde nuestro fetchData? Es decir, en cualquier componente que vaya a usar el setError podría usar directamente el mutation, no entiendo muy bien la funcionalidad del mixin aquí:(

3.- En cuanto al componente loading, veo que lo estamos volviendo a importar, pero realmente ese componente ya está importado en el MainLayout, ¿No sería mejor simplemente llamar al mutation SET_LOADING? Claro, hacer eso supondría destruir el componente MainLayout y cuando termine volverlo a construir pero ya con los datos, obtenidos

Me ha gustado el formato de este curso, veo el empeño de Jorge por responder y se nota la dedicación puesta en cada una de las partes del curso. Una buena forma de complementarlo hubiese sido que en alguna que otra parte importante, se hubiese hecho una explicación o introducción en video, por ejemplo, al comenzar cada módulo. De todas formas el curso está bueno y nos induce a que hagamos lecturas adicionales de la documentación relacionada. Gracias.

A mi me funciono correctamente tal y como esta en el post.

En mi caso los params no se mandaban en el request del perfil, solo es cambiar un poco el código.
Espero les sirva.

function getApiAccount({ region, account }) {
  const resource = `d3/profile/${account}`

  const locale = locales[region.toLowerCase()]
  const accessToken = store.state.oauth.accessToken
  const API_URL = `${protocol}${region.toLowerCase()}${host}${resource}/?locale=${locale}&access_token=${accessToken}`

  return get(API_URL)
}
si les ta problema el importat el get importenlo como import { Axios } from 'axios' y   return Axios.get(API\_URL, { params })

Me mandaba a error cuando hacia el submit del profile, con cualquier usuario que escribiera, era por que me faltaba un ‘/’ en la variable ‘host’.

Les dejo un usuario activo al día de hoy

Horasohn#2399

Region: us