跳到内容

动态图标组件

你可以使用一个通用图标组件来加载图标。但通常不推荐这样做,因为它会在构建期间导入全部图标。详情见注意事项

当应用需要根据图标名称动态显示图标时,DynamicIcon 会很有用。例如,内容管理系统可能会把图标名称存储在数据库中。

如果图标使用场景是静态的,建议直接导入对应图标。

你可以传入同样的 props 来调整图标外观。name prop 用于加载正确的图标。

jsx
import { DynamicIcon } from '@ycloud-web/icons-react/dynamic';

const App = () => (
  <DynamicIcon
    name="camera"
    color="red"
    size={48}
  />
);

注意事项

  • 构建期间会导入全部图标,因此会增加构建时间。
  • 打包工具会为每个图标创建独立模块,可能会增加网络请求数量。
  • 图标是动态加载的,加载过程中可能出现闪烁。
  • 使用服务端渲染时,需要确保图标在首次渲染时可用。

基于 ISC 许可证发布。