【发布时间】:2020-08-10 00:24:28
【问题描述】:
所以我使用以下代码创建了这个按钮组件
const STYLES = ['btn--primary', 'btn--outline', 'btn--test'];
const SIZES = ['btn--medium', 'btn--large'];
const DISPLAY = ['btn--show', 'btn--hidden'];
export const Button = ({
children,
type,
onClick,
buttonStyle,
buttonSize,
buttonDisplay
}) => {
const checkButtonStyle = STYLES.includes(buttonStyle)
? buttonStyle
: STYLES[0];
const checkButtonSize = SIZES.includes(buttonSize) ? buttonSize : SIZES[0];
const checkButtonDisplay = DISPLAY.includes(buttonDisplay)
? buttonDisplay
: DISPLAY[0];
return (
<Link to='/sign-up'>
<button
className={`btn ${checkButtonStyle} ${checkButtonSize} ${checkButtonDisplay}`}
onClick={onClick}
type={type}
>
{children}
</button>
</Link>
);
所以我的导航栏组件中有这个按钮组件,我的主页部分组件中也有它。
我的问题是,每当我将页面缩小到移动设备时,我想让导航栏中的按钮组件显示:无,然后在主页部分我希望它显示
最终发生的事情是,由于它是一个组件,我添加到它的任何 CSS 样式都会出现在使用该组件的任何其他页面上,所以当我需要它显示时,基本上我的按钮会在主页部分消失
我尝试向按钮组件添加一个 Id,但没有成功
<Button id='nav-btn' buttonStyle='btn--outline'>
SIGN UP
</Button>
而且我不知道如何将自定义类或 id 添加到导航栏按钮而不应用到我主页上的所有其他按钮组件
【问题讨论】:
标签: reactjs