Простите заранее, я новичок. Совсем.
Задача:
реализовать удобную вставку svg файлов в вебстраницу, при этом формируя спрайт. Вставку иконы делаем с помощью use
Используется плагин
https://github.com/JetBrains/svg-sprite-loader
Настроил и
все работает например вот так:
import logo from "../images/svg/logo.svg";
<svg>
<use xlinkHref={`#${logo.id}`} />
</svg>
Спрайт вставляется, id задан корректно, svg выводится отлично.
При сборке logo.id заменяется на реальное название символа из спрайта.
Проблема:
Я бы хотел получить универсальный компонент, в котором название (ID svg символа для вставки) можно было бы задавать. качестве переменной. Пробую вот так и
не работает:
const Icon = ({symbolname}) => (
<svg>
<use xlinkHref={`#${`${symbolname}.id`}`}/>
</svg>
);
<Icon symbolname="logo" />
Получается, что переменная от этого компонента принимается ок - я получаю после компиляции logo.id на странице, а вот как заставить вторым шагом развернуть реальный id - не пойму.