If backEndData is the object you're showing, it's obvious it does not have a items property. So backEndData.items is undefined. You can't access any property on undefined (you'll just get the error you're getting).
You probably mean
<div className='main'>
{backEndData.item.map(product => (<p>{product.name}</p>))}
</div> For the sake of good naming conventions, I think the best thing to do is rename item in your json to items, while changing the above to
<div className='main'>
{backEndData.items.map(product => (<p>{product.name}</p>))}
</div> , accordingly.
Another note: if backEndData is fetched from the server and it's not available initially, you either condition the component rendering based on its value, in parent component (e.g:
<div>
{data && (<Main backEndData="data" />)}
</div> ) or, alternatively, you can use optional chaining (?.) inside <Main>:
<div className='main'>
{backEndData.items?.map(product => (<p>{product.name}</p>))}
</div> * Be the first to Make Comment