如何将两个参数传递给样式化组件中的 props 函数

How to pass in two arguments to a props function in styled components

我的 React 组件中有一个 styled-components,它目前在样式组件上使用 props 功能。

我需要使用另一个 属性 来设置样式,但是当我尝试传入它时我总是收到错误消息。

这是我目前拥有的,而且效果很好。

border: 1px solid ${(props) => (props.isError ? "red" : "transparent")};

这就是我想要实现的目标:

border: 1px solid ${(props) => props.isError ? theme.Colors.red : "transparent"};

有没有办法在道具功能中将主题作为附加道具传入?

我不断收到此错误 **Cannot find name 'theme'.**,即使它正在我的样式组件的其他部分中使用。

${({theme, isError}) => ...} 就是您要找的。

您需要从 props 对象中解构所有道具 - 否则您将使用 props.theme.Colors.red - 因为 props 将按照您的方式包含 theme 对象正在写。