Я немного покопался, и я думаю, что это определенно ошибка с codeandbox.
Когда мы используем изображение .png
, путь к строке выглядит следующим образом:
path: https://uploads.codesandbox.io/uploads/user/ff71cfab-643a-41c7-8358-d13e8ce686c9/U6zD-unsplash1.png
Но когда мы используем SVG, вещи терпят неудачу.
Некоторые похожие проблемы открылись в их репозитории github: # 1664 , # 3825 .
Сопровождающий сказал, что svg-react-loader
включен в шаблон CRA v2 , и вы можете импортировать их как ReactComponent
, я предполагаю, что это то, о чем вы говорили изначально. Я думаю, именно это привело к тому, что svg
файлы по-разному обрабатываются codeandbox.
Пока, я думаю, вы можете сделать этот хакерский обходной путь:
import mysvg from "!raw-loader!./img/my.svg.txt";
// inside render
<span dangerouslySetInnerHTML={{ __html: mysvg }} />
песочница здесь
Вам необходимо добавить raw-loader
в качестве зависимости и переименовать файл в расширение .txt
, чтобы он не обрабатывался как .svg
.
В долгосрочной перспективе, Я думаю, что лучшее, что мы можем сделать, - это участвовать в # 3825 и надеяться, что это можно исправить с помощью codesandbox.