Почему мой путь к моему изображению не работает в реакции?

Вот мой макет папки

src                                   (folder)
   images                             (folder)
         alligators                   (folder)
                  Alligator 1.svg     (svg file)
   main.js                            (javascript file)

А вот моя строка кода в файле main.js:

    <img src = {require("./images/alligators/Alligator 1.svg")} alt = "alligator illustrator" />

Я не получаю никаких ошибок, я просто отображаю свой альтернативный текст, а мое изображение не отображается.

Что, кажется, моя проблема с моим путем?

Я также только что попробовал {} curly без «require», но результат тот же. Пробовал переименовывать Alligator 1 без пробела, но опять же результат тот же.

Если мой код правильный, по каким другим возможным причинам это может происходить?

Что произойдет, если вы замените require на import? Если это не сработает, добавьте import alligator from './images/alligators/Alligator 1.svg' вверху файла и измените код на src = {alligator}.

squillman 11.12.2020 23:34

@squillman спасибо, руководство import alligator from 'path' работает, а затем меняет его на src = {alligator}, но require-> import ничего не сделал. Я не уверен, почему ручной импорт работает, но не импорт изображений, так как это тот же самый путь

Johnny Robertson 11.12.2020 23:42

попробовать <img src = "./images/alligators/Alligator 1.svg" alt = "alligator illustrator" /> для меня это работает. и не нравится пробел в имени файла.

romanown 11.12.2020 23:44

@romanown не работает. это работает, когда я нахожусь в своих файлах html/css, но не реагирую, не знаю почему. и это тот же путь, плюс-минус небольшая разница в синтаксисе

Johnny Robertson 11.12.2020 23:46

это потому, что вы показали структуру каталогов и используете ее при проектировании. а изображения должны быть размещены в той структуре, которая получается после компиляции. где находится получившийся пучок. ссылка на который находится в html файле. но вам все же удобнее наверное сделать как в принятом ответе.

romanown 12.12.2020 00:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
5
251
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Обновите свой код, чтобы импортировать изображение, а затем используйте его в src следующим образом:

import alligator from './images/alligators/Alligator 1.svg';
...
<img src = {alligator} alt = "alligator illustrator" />

При импорте ваш файл сохраняется в alligator и затем доступен для использования React. Затем React разрешает его в вашем теге img.

в react.js вы можете поместить свои изображения в общую папку (тот же каталог, что и src), а затем просто передать его по пути по умолчанию, например: src = "/image.svg"

Да, но я бы хотел, чтобы мои файлы были организованы, а не хранились в папке SRC.

Johnny Robertson 11.12.2020 23:49

Другие вопросы по теме