Я пытался добавить несколько изображений на страницу, но после рендеринга выяснилось, что изображения сломаны. Может ли кто-нибудь помочь мне понять, в чем проблема?
Вот мои исходные коды:
import React from 'react';
import Product from "./Product/index";
import Data from "../../../data/data.json";
const ProductList = () => {
const renderedList = Data.goods.map(product => {
return <Product product = {product} key = {product.name} />
}
);
return (
<div>{renderedList}</div>
);
}
export default ProductList;
////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////////////////////
import React, { Component } from "react";
import Thumb from "../../../Thumb/index";
const Product = props => {
return (
<div className = "shelf-item">
<div className = "shelf-stopper">Free shipping</div>
<Thumb
classes = "shelf-item__thumb"
src = {props.product}
/>
<p className = "shelf-item__title">product</p>
<div className = "shelf-item__price">
productInstallment
</div>
<div className = "shelf-item__buy-btn">Add to cart</div>
</div>
);
}
export default Product;
////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////////////////////
import React from 'react';
const Thumb = (props) => {
return (
<div className = {props.classes}>
<img
src = {`/Users/xlz/Desktop/codingProject/react/new-
shopping-cart/src/static/products/${props.src.pictures}`}
alt = {props.src.name} />
</div>
)
}
export default Thumb;
Это иерархия моих папок:
new-shopping-cart
src
components
Thumb
index.js
static
products
xxxxxxxxxxxx.jpg
xxxxxxxxxxxx.jpg
xxxxxxxxxxxx.jpg
Я уверен, что пути к картинкам правильные. Но на странице были битые картинки с альтернативными текстами для изображений.
Спасибо за ваш комментарий. Я проверил атрибут src и обнаружил, что при наведении мыши на src он показывал http://local:3000/Users/xlz/Desktop......... Есть ли проблема с этим путем?
local:3000 — это корень вашего сервера, а не корень вашей файловой системы. Ваш URL-адрес, вероятно, должен быть чем-то вроде /static/products/..., чтобы результат был `местный: 3000/статические/продукты`. Убедитесь, что ваши изображения скопированы в папку вашего дистрибутива.
Я изменил свой URL-адрес на ../../static/products/${props.src.pictures}, и в результате получился http://localhost:3000/static/products/xxxxxxxxx.jpg, но это все равно не сработало. Я добавил иерархию своих папок в свой исходный вопрос, я думал, что проблем нет.
изменить место назначения изображения. означает, что вам нужно перенести свои изображения в ваш проект, внутри каталога вашего сервера
Мне жаль, что я не уловил вашу мысль. Что означает server directory?





Если на странице отображаются неработающие изображения, URL-адреса не работают. Посмотрите на отображаемый HTML и посмотрите, что находится внутри атрибута
src. Я бы ожидал что-то вродеhttp:///Users/xlz....