【发布时间】:2019-05-01 09:47:42
【问题描述】:
简要说明
感谢svg-to-react-cli 脚本,我的图标有 73 个组件。
现在,如果我想调用这些图标,我可以单独调用我想使用的每一个。 但这不是我想要的。
我想要的是只调用 one 组件,在其中添加“名称”值。
例如:
我的问题
如何循环遍历目录中的多个组件,并将它们返回到 switch case 中?
这就是目录中所有 73 个组件的样子
import React from 'react';
export default function NAMEOFICON(props) {
return (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width={100} height={100} {...props}>
...CONTENT OF SVG...
</svg>
);
}
这就是我所拥有的
import React from 'react';
import ALLCOMPONENTS from 'DIRECTORY WITH COMPONENTS'
// HERE I WANT TO LOOP THROUGH COMPONENTS AND ADD THEM IN THIS SWITCH
const getPath = (name, props) => {
switch (name) {
case 'NAME OF THE COMPONENT':
... HERE COMES CONTENT OF COMPONENT...
default:
return <path />;
}
};
// HERE I CREATE A CONST TO LATER CALL THE DESIRED COMPONENT BY NAME
const Icon = ({
name = '',
style = {},
fill = 'currentColor',
viewBox = '',
width = '20px',
className = 'icon icon' + name,
height = '20px'
}) => (
{NAME OF COMPONENT({ fill })}
);
export default Icon ;
【问题讨论】:
标签: reactjs loops switch-statement components case