Я новичок в программировании и очень новичок в React. Я пытаюсь отобразить изображение из файла data.js. Я получаю данные, но не изображение. Мой console.info правильно отображает путь к изображению. Я знаю, что мой путь в порядке, потому что я пытался импортировать изображение, и оно работает нормально.
Я пытался создать файл .env, чтобы указать NODE_PATH=src, чтобы у меня был абсолютный путь, но это тоже не работает, и я думаю, что это устаревший способ обработки абсолютного пути. Я также пытался вставить случайный URL-адрес из Google, но это тоже не сработало. Это заставляет меня думать, что моя проблема не в пути.
// My app.js file
import React from 'react';
import GetImages from './components/ImagesTest/getImages';
import './App.css';
function App() {
return (
<div className = "App">
<h1 className = "header">Local Storage</h1>
<GetImages/>
</div>
);
}
export default App;
// My class file
import React, { Component } from "react";
import Data from './data';
class GetImages extends Component{
constructor(props){
super(props);
this.state = {
Data: Data
};
}
render(){
const {Data} = this.state;
return(
<div>
{
Data.map(data=>(
<div>
{ console.info(data.src) }
<img src= {data.src} alt = {data.alt}></img>
<p>{data.note}</p>
<p>{data.w}</p>
<p>{data.h}</p>
</div>
))
}
</div>
)
}
}
export default GetImages;
// My data.js file
const pictures = [
{
"id": "4",
"title": "the_cats",
"place": "",
"note": "This a cat picture",
"datePhoto": "2018",
"w": "5312",
"h": "2988",
"src": "/../cat1.jpg",
"alt" : "cat image",
"lblDate": "Date : ",
"lblPlace": "Place : ",
"lblNote": "Note : "
}
]
export default pictures;
Извините, если этот вопрос слишком прост. Любая помощь была бы здоровой, потому что я здесь как-то заблудился. Большое спасибо !!
Спасибо за Ваш ответ !! Вы правы, я этого не делал. Должен ли я создать файл webpack.config.js? Потому что у меня их нет в моих реактивных проектах, что меня удивило, потому что они были созданы автоматически, когда я немного работал с Symfony.
Вы можете попробовать этот шаблон веб-пакета в качестве стартера.
Часть загрузки файла, https://blog.cloudboost.io/webpack-for-beginners-part-1-bf8d65e58ecf, объясняет filer-loader
для обслуживания файла изображения.
Спасибо, я попробую это!
Итак, я выполнил шаги и установил файл-загрузчик. Я могу добавить файл css и добавить URL-адрес изображения. Он отлично работает, но я все еще не могу отображать изображения из моего файла data.js. Я поместил свою папку с изображениями в общедоступную, чтобы она могла перейти в папку сборки, когда я запускаю сборку npm. Но все равно не рендерит. Любая идея, почему?
Итак, я изменил путь, и он наконец-то отобразился! Спасибо за вашу помощь !
Я принял это. Но меня знали в stackoverflow, и у меня было сообщение о том, что это было принято во внимание, когда у меня будет больше очков.
Я подозреваю, что вы не включили загрузчик файлов: проверьте эту ссылку webpack.js.org/guides/asset-management/#loading-images