javascript - 基于来自父级的道具反应动态导入
问题描述
是否可以根据 React 中 Parent 的道具动态导入?
对于我的代码:
家长
<Parent>
<Child icon="svg1" />
<Child icon="svg2" />
<Child icon="svg3" />
</Parent>
孩子
import svg1 from './svg1.js'
import svg2 from './svg2.js'
import svg3 from './svg3.js'
switch (props.icon)
{
case 'svg1':
output = <svg1/>
break
case 'svg2':
ouput = <svg2/>
break
default:
ouput = <svg3/>
}
return (
<div>
{output}
</div>
)
如何使用动态图标值根据父级而不是 swtich 的图标值导入 svg 元素?
解决方案
如果您想避免进行切换,可以使用导入构建一个对象:
const icons = {
svg1,
svg2,
svg3,
};
const Child = (props) => {
const Component = icons[props.icon];
return <Component />;
};
推荐阅读
- javascript - 在单击事件的类中调用 Javascript 函数
- java - LocaleDateTime atZone 格式忽略不同的时区
- jquery - 如何使用 Jquery 获取标签数组中每个标签的位置
- c# - 在 bitbucket 管道中执行 Nunit 测试时如何从 appsettings.json 中检索数据
- c - C - gdb 调试器在 VScode 中不执行 fscanf
- database - 使用 SQL Server 表中的部分数据进行数据库备份
- python-3.x - 合并后如何保持相同的int dtype列?
- r - 按 R 中的日期和站点通过数据透视表计算每分钟值的平均值
- python - 将 pandas DataFrame 中的多列映射到一列
- spring - 带有规范的 kotlin 单元测试