【发布时间】:2021-04-11 12:40:22
【问题描述】:
我正在ChakraUI 和引导图标之上创建一个自定义设计系统。
引导图标包含 1000 多个 svg 图标。
我创建了一个抽象的 Icon 组件来抽象图标名称,这似乎更方便 IMO。
但是,我不确定这个模块是否会被摇树,而且我不知道如何更改实现以使其可摇树。
图标.tsx
import React from 'react'
import * as bootstrapIcons from '@emotion-icons/bootstrap'
// Union of all icon names: 'Alarm' | 'Circle' | 'Square' ...
type IconNames = keyof typeof bootstrapIcons
export const Icon: FC<{name: IconNames}> = ({name}) => {
const Icon = bootstrapIcons[name]
return (
<div>
<Icon style={{...}} />
</div>
)
}
App.tsx
import React from 'react'
import { Icon } from './Icon'
const App = () => {
return <div>
<Icon name="Alarm" />
</div>
}
【问题讨论】:
标签: reactjs typescript performance webpack tree-shaking