Comment puis-je charger une image à partir d'un répertoire local et l'inclure dans la balise reactjs img src
?
J'ai une image appelée one.jpeg
dans le même dossier que mon composant et j'ai essayé à la fois <img src="one.jpeg" />
et <img src={"one.jpeg"} />
dans ma fonction render
mais l'image ne s'affiche pas. De plus, je n’ai pas accès au fichier webpack config
puisque le projet est créé avec la commande officielle create-react-app
util.
Mise à jour: Cela fonctionne si je commence par importer l'image avec import img from './one.jpeg'
et que je l'utilise dans img src={img}
, mais j'ai tellement de fichiers image à importer et je souhaite donc les utiliser sous la forme, img src={'image_name.jpeg'}
.
Le meilleur moyen consiste à importer d'abord l'image, puis à l'utiliser.
import React, { Component } from 'react';
import logo from '../logo.svg';
export default class Header extends Component {
render() {
return (
<div className="row">
<div className="logo">
<img src={logo} width="100" height="50" />
</div>
</div>
);
}
}
Vous devez envelopper le chemin source de l'image dans {}
<img src={'path/to/one.jpeg'} />
Vous devez utiliser require
si vous utilisez webpack
<img src={require('path/to/one.jpeg')} />
le meilleur moyen d'importer une image est ...
import React, { Component } from 'react';
// image import
import CartIcon from '../images/CartIcon.png';
class App extends Component {
render() {
return (
<div>
//Call image in source like this
<img src={CartIcon}/>
</div>
);
}
}
Ma réponse est fondamentalement très similaire à celle de Rubzen. J'utilise l'image comme valeur d'objet, btw . Deux versions fonctionnent pour moi:
{
"name": "Silver Card",
"logo": require('./golden-card.png'),
ou
const goldenCard = require('./golden-card.png');
{ "name": "Silver Card",
"logo": goldenCard,
Sans wrappers - mais c'est une application différente aussi.
J'ai aussi vérifié "importer" la solution et dans quelques cas cela fonctionne (ce qui n'est pas surprenant, c'est appliqué dans le motif App.js dans React), mais pas dans le cas comme ci-dessus.
import React from "react";
import image from './img/one.jpg';
class Image extends React.Component{
render(){
return(
<img className='profile-image' alt='icon' src={image}/>
);
}
}
export par défaut Image
J'ai utilisé cette méthode et ça marche ... j'espère que vous serez utile.
const logofooter = require('../../project-files/images/logo.png');
return(
<div className="blockquote text-center">
<img src={logofooter} width="100" height="80" />
<div/>
);
Dans le dossier public, créez un dossier assets et placez le chemin de l'image en conséquence.
<img className="img-fluid"
src={`${process.env.PUBLIC_URL}/assets/images/uc-white.png`}
alt="logo"/>
import image from './img/one.jpg';
class Icons extends React.Component{
render(){
return(
<img className='profile-image' alt='icon' src={image}/>
);
}
}
export default Icons;