Я собираюсь импортировать несколько иллюстраций SVG в свой проект в виде встроенных компонентов SVG, используя новую функцию create-react-app @ 2.0.0.
Вот мой svg-import.js:
import React from 'react';
import { ReactComponent as StartLogo } from '../images/start/logo.svg';
import { ReactComponent as StartTitle } from '../images/start/title.svg';
...
import { ReactComponent as IntroAvatar } from '../images/intro/avatar.svg';
import { ReactComponent as IntroDialog } from '../images/intro/dialog.svg';
...
const svgIllustrations = {
"start": {
"logo": <StartLogo className="svg svg-start-logo"/>,
"title": <StartTitle className="svg svg-start-title"/>,
...
},
"intro": {
"avatar": <IntroAvatar className="svg svg-intro-avatar"/>,
"dialog": <IntroDialog className="svg svg-intro-dialog"/>,
...
}
}
export default svgIllustrations;
Когда я хочу их использовать:
import svgIllustrations from '../svg-import.js';
...
render() {
return (
{svgIllustrations.start["logo"]}
)
}
Код работает.
Однако, поскольку есть много файлов SVG, которые нужно импортировать, и все они названы и структурированы в соответствии с определенным правилом, мне интересно, есть ли лучший способ сделать что-то подобное.