javascript - 在 ReactJs 中使用 If/Else 语句返回一个组件
问题描述
这是courseButton.jsx:
import React from "react";
import styles from "./styles.module.scss";
import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons";
export default (props) => {
const { collapsed, onClick } = props;
return <>{collapsed ? MenuUnfoldOutlined : MenuFoldOutlined}</>;
};
我的两个组件都有相同的道具。所以我想避免这样的编码:
import React from "react";
import styles from "./styles.module.scss";
import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons";
export default (props) => {
const { collapsed, onClick } = props;
return (
<>
{collapsed ? (
<MenuUnfoldOutlined className={styles.trigger} onClick={onClick} />
) : (
<MenuFoldOutlined className={styles.trigger} onClick={onClick} />
)}
</>
);
};
那么我如何在一行代码中为选定的组件提供样式。
我想要这样的代码。
解决方案
由于我们只分配一次道具,因此该解决方案可以更好地扩展。
export default (props) => {
const { collapsed, onClick } = props;
const Component = collapsed ? MenuUnfoldOutlined : MenuFoldOutlined;
return <Component className={styles.trigger} onClick={onClick} />;
};
推荐阅读
- amazon-s3 - 如何使用工具/服务将本地数据备份到 AWS S3 存储桶?
- javascript - 如何在 package.json 中有多个入口点?
- powershell - 我想从 Active Directory 中的组中删除用户
- android - 如何在 Android 中使用 Navigation Drawer 设置导航组件?
- asp.net - .net core ,如何处理带有额外斜杠的路由
- django - 如何在另一个内置视图(如 FormView)中传递 UserCreationForm
- arrays - PostgreSQL:计算特定的 JSON 元素
- python - 对元组列表中的值求和并按工作日排序
- oracle - 它是一个 oracle 存储过程,我得到“PLS-00403:”
- batch-file - 将括号之间的输出保存到新的 txt 文件的批处理文件