#Alguien que me pueda ayudar para iterar
1 messages · Page 1 of 1 (latest)
Podria ser un error al importar el archivo
revisa bien la ruta
Algo que note en el codigo es que no estas usando una ruta dinamica, estas importando algo en tu pc luego cuando subas el proyecto tendras problemas con eso que estas importando
Veo que estas renderizando bien, lo mas seguro es que no estes importando correctamente el json
pero si le hago un console.log si me lo muestra bien
ese logo no está en uso
probé usando un array dentro y no un json y pasa exactamente lo mismo
.
Ya lo veo
@rich spire No entiendo
xd
Por eso nadie quiere entrar a pedirte más explicaciones
Cuentame
básicamente no me deja iterar el array para darle al componente las props
osea
{
projects.map(({ name, image, url, github }) => (
<MiniProject
name={name}
image={image}
url={url}
github={github}
/>
))
}
esto no funciona
Vale, ¿corregiste ese import que haces a partir del disco C?
Mandame screenshots, no lo hagas con esa herramienta porque no me muestra sintaxis de astro
si yo hago esto:
for (var i = 0; i < projects.length; i++) {
console.log(projects[i])
}
si funciona
me sale los 3 elementos del array en consola
los errores de módulo son errores de WSL
todo eso funciona bien
todo está importado bien
Pero el primero sí muestra?
si
bueno en realidad es todavía más raro en eso
no se muestra el primero
se muestra uno
pero no tiene porque ser el primero
si querés muestro como se ve en el inspeccionar elemento
Intenta iterar solo el nombre:
{
projects.map(({ name }) => (
<p>{name}</p>
))
}
funciona si
Ahora:
{
projects.map(({ image}) => (
<img src={image} />
))
}
funciona
yo añadí la parte de props porque lo usaba tanto así midu (de donde estoy aprendiendo astro) como en otros lados
Sí, correcto
Intenta borrando todo lo que tenga que ver con iconos
a parte el projectData no tiene nada que hacer ahí
y ¿Qué paso? 🗣️ xd
pero sigue quedando igual si vuelvo para que me muestre esto
si vuelvo a ponerle esto al map todo queda como antes
los iconos no cambiaron nada
Vamos a probar borrar el html y solo imprimirémos lo mismo de antes:
<p>{name}</p>
A ver si el error se encuentra ahí
Porque no veo nada raro
igual que esto?
Ok, entonces vuelve como estaba al prinicipio
pero ahora vamos borrando de a bloques
Uy
Quizá el problema sea los img
no estás cerrando
<img /> 👈
no parece
sip
Muestra
no cambia nada
ok
export interface Props {
name: string;
url: string;
image: string;
github: string;
}
const { name, image, url, github } = Astro.props;
<a class="relative rounded-lg bg-[#454545] w-48 h-64 overflow-hidden" href="#">
<div class="absolute [&>A]:hover:translate-y-0 [&>A]:hover:opacity-100">
<a class="translate-y-6 opacity-0 z-10 absolute top-4 right-4 size-4 transition-all duration-500" href={github}>
<img class="absolute size-4 invert" src="{githubIcon?.src}" alt={name} />
</a>
<a class="translate-y-6 opacity-0 z-10 absolute top-10 right-4 size-4 transition-all duration-500" href={url}>
<img class="absolute size-4 invert" src="{arrowUp?.src}" alt="" />
</a>
<img class="z-1 w-48 h-64 object-cover rounded-lg transition-all duration-500 scale-95 hover:scale-100 grayscale hover:grayscale-0"
src={image} alt="#" />
</div>
</a>
Te recomiendo la extensión, mira que bello:
cual es esa?
se ve bien
Te voy a enviar el código y lo vas a reemplazar con todo el html
ok
---
export interface Props {
name: string;
url: string;
image: string;
github: string;
}
const { name, image, url, github } = Astro.props;
---
<a class="relative rounded-lg bg-[#454545] w-48 h-64 overflow-hidden" href="#">
<div class="absolute [&>A]:hover:translate-y-0 [&>A]:hover:opacity-100">
{name}
</div>
</a>
Vamos poco a poco
perfecto
<a class="relative rounded-lg bg-[#454545] w-48 h-64 overflow-hidden" href="#">
<div class="absolute [&>A]:hover:translate-y-0 [&>A]:hover:opacity-100">
<a class="translate-y-6 opacity-0 z-10 absolute top-4 right-4 size-4 transition-all duration-500" href={github}>
<img class="absolute size-4 invert" src="{githubIcon?.src}" alt={name} />
</a>
</div>
</a>
solo el html
el frontmatter dejalo intacto
---
export interface Props {
name: string;
url: string;
image: string;
github: string;
}
const { name, image, url, github } = Astro.props;
---
<a class="relative rounded-lg bg-[#454545] w-48 h-64 overflow-hidden" href="#">
<div class="absolute [&>A]:hover:translate-y-0 [&>A]:hover:opacity-100">
<a class="translate-y-6 opacity-0 z-10 absolute top-4 right-4 size-4 transition-all duration-500" href={github}>
{name}
<img class="absolute size-4 invert" src="{githubIcon?.src}" alt={name} />
</a>
</div>
</a>
¿Consideras que es un problema de estilos?
---
export interface Props {
name: string;
url: string;
image: string;
github: string;
}
const { name, image, url, github } = Astro.props;
---
<a class="relative rounded-lg bg-[#454545] w-48 h-64 overflow-hidden" href="#">
<div class="absolute [&>A]:hover:translate-y-0 [&>A]:hover:opacity-100">
<img class="z-1 w-48 h-64 object-cover rounded-lg transition-all duration-500 scale-95 hover:scale-100 grayscale hover:grayscale-0" src={image} alt="#" />
</div>
</a>
ahí si funciona
pues si era un error de estilos
era en lo único que pensaba que no erraría
con los estilos tocaría con las devtools
muchas gracias y perdoná las molestias
Si quieres le haces deploy y lo checo
el que funcionaba era un div como lo cree en el código, pero en las devtools el resto eran anchor
entonces no podía modificarlos
Le haces un run build y subes la carpeta dist: https://app.netlify.com/drop/ 👈
no gracias, yo ya lo modifico y le hago lo que buscaba
Dale 👌