React img src url doesn't load

In the react project I’m currently working on, I need to render an image. It’s an object in an array and it’s passed as props to the component.

Here are the code fragments.

NameItem.jsx (complete code)

import React from 'react'
import moment from 'moment'

export default function NameItem(props) {
  return (
    <div>
        <li>
            <p>< img src= {props.avatar} alt="Avatar"/> {props.name}</p>
            <p>Name: {props.name}</p>
            <p>City: {props.location}</p>
            <p>Email: {props.email}</p>
            <p>Birthday: {moment(props.dob).format('DD-MM-YYYY')}</p> 
        </li>
    </div>
  )
}

NameList.jsx (code fragment)

import React from 'react'
import NameItem from './NameItem'

export default function NameList() {
    
 //object array   
const nameList = [{
    "name": { "first": "brad","last": "gibson"},
    "location": {"city": "kilcoole",},
    "email": "brad.gibson@example.com",
    "dob": {"date": "1993-07-20T09:44:18.674Z","age": 26},
    "picture": {"large": "https://randomuser.me/api/portraits/men/75.jpg"},
},

The output is like this,
image
The image doesn’t load.

Thanks for the reply,
Here’s the code, if you need other .js files, please inform me.

import React from 'react'
import NameItem from './NameItem'

export default function NameList() {
    
 //object array   
const nameList = [{
    "name": { "first": "brad","last": "gibson"},
    "location": {"city": "kilcoole",},
    "email": "brad.gibson@example.com",
    "dob": {"date": "1993-07-20T09:44:18.674Z","age": 26},
    "picture": {"large": "https://randomuser.me/api/portraits/men/75.jpg"},
},
{
    "name": { "first": "Jane","last": "gomez"},
    "location": {"city": "Chillie",},
    "email": "brad.gibson@example.com",
    "dob": {"date": "1993-07-20T09:44:18.674Z","age": 26},
    "picture": {"large": "https://images.pexels.com/photos/20787/pexels-photo.jpg?auto=compress&cs=tinysrgb&h=350"},
},
{
    "name": { "first": "Sopia","last": "gibson"},
    "location": {"city": "kilcoole",},
    "email": "brad.gibson@example.com",
    "dob": {"date": "1993-07-20T09:44:18.674Z","age": 26},
    "picture": {"large": "https://images.pexels.com/photos/20787/pexels-photo.jpg?auto=compress&cs=tinysrgb&h=350"},
},  
]

//Arrow function to iterate rendering
const printArray = () => {
    return(
        nameList.map((oneName) => {
            return(
                <NameItem 
                name = { `${oneName.name.first} ${oneName.name.last}`}
                location = {oneName.location.city}
                email = {oneName.email}
                dob = {oneName.dob.date}
                avatar = {oneName.picture} />
            )
        }

        )
    );
}
  return (
      <React.Fragment>
          <h1>Name list</h1>
        <hr/>
        <ul>
            {printArray()}
            
        </ul>
      </React.Fragment>
  );
}

type or paste code here

Hi Pabs,
It should be like (Mod Edit: SOLUTION REDACTED) as picture is an object

1 Like

Thank you for the support. It solved my problem.

Change this above line into the following:
Mod Edit: SOLUTION REDACTED

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.