Я поместил загруженные изображения в папку images внутри моей папки public. Изображения пронумерованы от 1 до 10.
В моем файле App.js я передаю id каждого изображения в Component.js.
return(
<div>
{info.map((users, i) => {
return(
<Component key = {i} id = {info[i].id} />
)
})}
</div>
)
А в файле Component.js я визуализирую вот такое изображение:
<img alt='image' src='/images/{this.props.id}.jpg'/>
Мое видение состоит в том, что я отправлю идентификатор через реквизиты из App.js, а в Component.js я буду использовать этот идентификатор для {this.props.id}.jpg для отображения соответствующего изображения идентификатора. Страница загружается, ошибок нет, но я не вижу изображения. Затем я изменил местоположение папки с изображениями и попытался сделать это:
<img alt='image' src = {require(`D:/project-name/src/images/${this.props.id}.jpg`)}/>
Но все еще сталкивается с той же проблемой. Пожалуйста, помогите мне решить эту проблему.
@MarkSkelton я пробовал ' src = { /images/{this.props.id}.jpg } ' , но столкнулся с той же проблемой.
Это очень близко, но вам также не хватает знака доллара перед {this.props. Попробуйте изменить его на ${this.props
@MarkSkelton Спасибо за ваш комментарий!! Теперь изображения видны.
Отлично, я только что опубликовал это как ответ для других, которые наткнулись на этот вопрос.





Проблема в вашем теге изображения. Попробуйте сделать строку шаблонной строкой и не забудьте добавить отсутствующий знак доллара перед {this.props.id}.
<img alt='image' src = {`/images/${this.props.id}.jpg`} />
Привет, я только что попробовал это, и мой сайт разбился. Я помещаю папку с изображениями в общую папку. Картинки там не названы по порядку вроде 0,1,2,3. Просто случайные имена. Я использовал: <img src = {/Images/${this.props.id}.png} height='300' alt='robots' />
Похоже, во втором блоке кода вы не используете строку шаблона, из-за которой все изображения будут иметь один и тот же URL-адрес
/images/{this.props.id}.jpg. Это может быть вашей проблемой.