javascript - 根据数据库提供的名称导入和渲染 React 组件?
问题描述
我正在为我的 SVG 图标使用 React 组件,例如:
const ErrorIcon = props => {
const { color } = props;
return (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90.206 94.8">
<path
d="M55.7 82.9v2.8c0 2.2-1."
fill={color}
/>
</svg>
);
};
我有一个页面,我需要根据来自数据库的 ID 提供的名称应用图标
const data = [{ id: "dog", name: "A Dog" }, { id: "cat", name: "A kitty"}]
如果我是基于类名的样式,那么我可以像这样呈现 ID:
const MyComponent = props => {
return (
<ul>
{
data.map(item=>{
return(<li className={`Icon Icon--${item.id}`} key={item.id}>{item.name}</li>)
})
}
</ul>
);
};
和风格:
.Icon--dog {
background: url(dog.jpg);
}
有没有办法在将图标保留为 React 组件的同时做到这一点?
解决方案
推荐阅读
- graphql - 任何查询都返回 TypeError: Failed to fetch in launchpad.graphql.com
- kotlin - 如何在 Kotlin 文档 Dokka/Kdoc 中转义符号?
- .net - 如何使资源字典中的部分文本加粗
- php - PHP正则表达式自定义字符串变量替换
- javascript - 为什么 lodash 实现使用 call 来减少参数并在之后应用?
- c - 获取被调用对象不是第 34:13 行的函数或函数指针问题
- asp.net-core-2.1 - 有没有办法在 ASP.NET Core 2.1 中捕获对 Razor 页面不存在的自定义处理程序的 HTTP 请求?
- django - django+uwsgi+docker 同时连接到上游
- tla+ - 如何在 TLA+ 中执行详尽的状态检查?
- python - 使用 Paint per command/function 打开图像