您可以创建一个Map https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map(不要与Array.prototype.map() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)稍后用于通过提供的数字键查找关联的图标组件。
import { FaAndroid, FaAngular, FaReact, FaDev } from "react-icons/fa";
const map1 = new Map([
[1, FaAndroid],
[2, FaAngular],
[3, FaReact],
[4, FaDev]
]);
const platMain = [2, 3, 4, 5, 6, 7];
export default function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
{platMain.map((key) => {
const icon = map1.get(key);
return icon ? icon() : null;
})}
</div>
);
}
或者与带有数字键的普通旧对象类似。
import { FaAndroid, FaAngular, FaReact, FaDev } from "react-icons/fa";
const map = {
1: FaAndroid,
2: FaAngular,
3: FaReact,
4: FaDev
};
const platMain = [2, 3, 4, 5, 6, 7];
export default function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
{platMain.map((key) => {
const icon = map[key];
return icon ? icon() : null;
})}
</div>
);
}