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

279
Vistas
Images not showing in React?

I'm following along with a Scrimba tutorial on React and I'm doing it on my own machine locally. I have an image in my images folder within my src folder. In my components folder I have a component called Card which is shown but why is my image only shown when I import it and not like the other two ways which are commented out?

Might be something stupid but I can't see it. Thanks all. Just for clarity everything else works bar the image tags commented out.

App.js

function App() {
return (
    <div>
      <Navbar />
      <Hero />
      <Card
        img="katie-zaferes.png"
        rating="5.0"
        reviewCount="6"
        country="USA"
        title="Life Lessons With Katie Zaferes"
        price={136}
      />
    </div>
  );
}

Card.js

import Star from "../images/star.png";
import Athlete from "../images/katie-zaferes.png";

const Card = (props) => {
  return (
    <div className="card">
      <img src={Athlete} alt="card-image" />
      {/* <img src="../images/katie-zaferes.png" alt="img" /> */}
      {/* <img src={`../images/${props.img}`} alt="card-image" /> */}

      <div className="card--stats">
        <img src={Star} alt="star" className="card--star" />
        <span>{props.rating}</span>
        <span className="gray">{props.reviewCount} •</span>
        <span className="gray">{props.country}</span>
      </div>

      <p>{props.title}</p>
      <p>
        <b>From $ {props.price} </b> / person
      </p>
    </div>
  );
};

export default Card;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

In the case of the image you are trying to show on your App.js, you are giving your Card component a wrong path to find your image, your app needs to know where to find your "katie-zaferes.png" image, so the right way should be:

<Card
  img='../images/katie-zaferes.png'
  ...
/>

(I'm assuming that your App.js and your Card.js files are on the same folder, in case they're not, you have to modify the path to match your /images/katie-zaferes.png)

Note: By the way, for your next questions here in StackOverflow, try to write your code directly on your post, using the Javascript/HTML/CSS button, never use images because it makes more work for people to answer your question/

about 4 years ago · Juan Pablo Isaza Denunciar

0

I figured out it was an image path issue. I placed my 'images' folder in 'public'. I could then remove all imports and access them anywhere through '/images/example.png'.

Used in a component as shown below:

const Card = (props) => {
  return (
    <div className="card">
      <img src={`/images/${props.img}`} alt="card" />

      <div className="card--stats">
        <img src="/images/star.png" alt="star" className="card--star" />
        <span>{props.rating}</span>
        <span className="gray">{props.reviewCount} • </span>
        <span className="gray">{props.country}</span>
      </div>

      <p>{props.title}</p>
      <p>
        <b>From $ {props.price} </b> / person
      </p>
    </div>
  );
};

export default Card;
about 4 years ago · Juan Pablo Isaza Denunciar
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