【发布时间】:2021-01-17 19:23:05
【问题描述】:
所以我用 styled-components 创建了这个按钮,它是一个 react-scroll 链接
import { Link } from 'react-scroll';
export const Button = styled(Link)`
border-radius: 50px;
background: ${({ primary }) => (primary ? 'red' : 'blue')};
`;
所以在我的英雄部分,这些道具可以正常工作
<Button
to="signup"
smooth={true}
duration={500}
spy={true}
exact="true"
offset={-80}
primary="true"
dark="true"
>
Sign Up
</Button>;
但在我的另一部分中,我使用带有数据的对象来获取值,并且由于某种原因,它们没有应用主对象
const Main = ({ primary, dark }) => {
return (
<Button
to="home"
dark={dark ? 'true' : 'false'}
primary={primary ? 'true' : 'false'}
>
{buttonLabel}
</Button>
);
};
然后在我的主要部分的 data.js 文件中,我传入这个值
export const dataOne = {
primary: false,
dark: true,
};
export const dataTne = {
primary: true,
dark: false,
};
所以如果我 console.log 主要,它只会对两者都说 false。
如果 primary 为真,我将我的按钮元素更新为橙色,这会将我的所有按钮更改为橙色,但是为什么我的 data.js 文件无法将我的数据传输过来并没有任何意义背景颜色。
对我来说,让数据通过的唯一方法是,如果我在主要部分内部创建一个样式化的组件,而不是将它放在外部?
【问题讨论】: