Я сделал то же самое, но использовал css вместо компонента Icon для некоторых пользовательских значков, потому что с семантическими, если вы хотите редактировать значки / цвета, вы должны установить все локально, бороться с их кодом и перекомпилировать его.если вам просто нужны пользовательские значки, попробуйте с простым CSS для div, как я сделал:
.battery_custom_icom_sample:before {
content: "\F240" !important;
color: #c1bcbc2b;
font-size: 130px;
padding-top: 66px;
}
edit:
//you have to npm i lodash
import _ from 'lodash'
const mapping = [
{type:'e-mail', className:'custom1'},
{type:'document', className: 'custom2'},
{type:'table', className: 'custom3'},
{type:'pdf', className: 'custom4'}
]
export function myIconNameFromType(type) {
return _.find(mapping, (i) => i.type === type).className
}
или без lodash:
export function myIconNameFromType(type) {
return mapping.filter(function (el) {
return el.type === type
}).className
}
так:
<Icon className={this.myIconNameFromType(type)} />